我一直在尝试设置 SSL 虚拟主机
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName moclm.tap.pt
SSLEngine on
SSLCertificateFile /etc/ssl/moclm.cer
SSLCertificateKeyFile /etc/ssl/moclm.pem
DocumentRoot /var/www/tapme/
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
<Directory /var/www/tapme/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
#Order allow,deny
#allow from all
</Directory>
</VirtualHost>
由于某种原因,服务器自动重定向到 SSL(http:// 到 https://)。Apache 未配置为重定向,应用程序仅在端口 80 上正常工作。由于我是远程工作,因此我不知道内部网络如何工作。
SSL 错误日志显示:
[2012 年 10 月 2 日星期二 22:40:32] [错误] 通过 SNI 提供的主机名 linemnt01.tap.pt 与通过 HTTP 提供的主机名 moclm.tap.pt 不同
我认为主机名可能存在一些问题,并已将服务器的主机名从“linemnt01.tap.pt”更改为“moclm.tap.pt”,但问题仍然存在。
我在浏览器上收到以下错误:
错误的请求
您的浏览器发送了一个该服务器无法理解的请求。
我有/etc/hosts:
127.0.0.1 localhost.localdomain localhost moclm.tap.pt moclm
并且 openssl 返回:
openssl verify -CAfile cert-CA.cer moclm.cer
moclm.tap.pt.cer: OK
我一直在尝试解决该问题,但没有成功。需要帮助
谢谢
答案1
如果您的 apache 配置文件中没有这样的行,那么<VirtualHost 192.168.1.100:443>
您需要在相关目录块之前添加该行。请apache2/conf/extra/httpd-ssl.conf
注意,IP 地址需要在服务器上可用,并且您的网站主机名(不一定是服务器主机名!)如果您希望 SSL 在没有警告的情况下工作,则应该具有指向该 IP 地址的 DNS 记录。
假设您使用 apachectl 启动 apache,则您应该apachectl configtest
在重新启动 apache 之前运行以查看是否有任何警告或错误。
答案2
伙计们,这是 apache-2.2.X 中的一个大错误,其中 X>15。
我转到了 nginx 并且一切运行正常。
该错误已被报告并且 apache 人员表示将在 2.4.x 中修复它。