在 apache2 上设置 ssl
Posted
技术标签:
【中文标题】在 apache2 上设置 ssl【英文标题】:setting up ssl on apache2 【发布时间】:2011-05-22 06:47:24 【问题描述】:我在使用 apache2 运行 SSL 时遇到问题。
我浏览了许多有用的文章:
启用 ssl (sudo a2ensmod ssl) 生成的 ssl 证书 生成了一个自签名证书(这是为了 测试) 设置我的 default-ssl conf 文件将 /etc/apache2/sites-enabled 中的 conf 文件启用为 000-default-ssl
NameVirtualHost my.i.p.address
<VirtualHost my.i.p.address:443>
DocumentRoot /var/www
SSLEngine on
#SSLOptions +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
ServerAdmin you@example.com
ErrorLog /var/log/ssl_error_log
TransferLog /var/log/ssl_access_log
</VirtualHost>
我在启用站点 (000-default-ssl) 中生成了指向可用站点中的默认 SSL 配置文件的符号链接
我在 Firefox 中收到以下错误:ssl_error_rx_record_too_long 我的 apache 错误日志有一行:Invalid method in request \x16\x03
端口 443 已打开并正在侦听,因为我可以点击 http://my.IP.Address:443 而不会出错。
所以看起来我的服务器正在侦听端口 443,但它正在提供不安全的内容 (HTTP),这让我相信我的 VirtualHost conf 中有错误但我找不到它。
有什么建议吗?
【问题讨论】:
当您尝试https://...
时会发生什么?
@Pekka -- 在 FF 中,我得到错误代码:ssl_error_rx_record_too_long
查看错误,它指向apache没有在我的default-ssl上接,表明它没有被启用
更进一步——我已经仔细检查了 conf 文件是否已启用。我已经尝试过 VirtualHost default:443 和 VirtualHost *:443 - 都没有工作
【参考方案1】:
因此,解决方法是将端口添加到我的 .conf
文件中的所有 NameVirtualHost
声明中:
NameVirtualHost my.i.p.address:443
【讨论】:
以上是关于在 apache2 上设置 ssl的主要内容,如果未能解决你的问题,请参考以下文章
如何设置别名或 VirtualHost 以在 Apache2 上运行 laravel 项目
在 Apache 2.4.7 (ubuntu) 上设置服务器缓存
如何使用 apache2 在我的 Linux 网络服务器上设置音频文件的 CORS 访问权限?
无法浏览到新 Laravel Apache2 设置上的主 URL 以外的任何内容。错误:在此服务器上找不到请求的 URL