我使用自我分配的证书在我的apache服务器上打开了ssl。如果我转到我的主机名(dev.local),我可以看到https证书警告,这是我从https时所期望的。但是,如果我转到我的vhosts中指定的域名,则https不起作用。这是我的httpd.conf文件中的示例:
<VirtualHost *:80>
DocumentRoot /var/www/public_sites/domain
ServerName domain.com
ServerAlias www.domain.com
Alias /mt "/var/www/public_sites/mt"
ErrorLog "/logs/domain/error_log"
CustomLog "/logs/domain/access_log" common
</VirtualHost>
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
<Directory /var/www/public_sites/domain>
AllowOverride All
</Directory>
DocumentRoot /var/www/public_sites/domain
ServerName domain.com
</VirtualHost>
如果我转到https://domain.com则不起作用。但是https://dev.local确实有效。如果我在本地转到服务器的IP地址,它可以工作(192.168.0.194)。如果我去外部IP的IP地址(我的静态IP DNS使用)它不起作用。任何人都可以告诉我为什么会这样吗?不应该工作,因为我把NameVirtualHost,特别是443虚拟主机放在httpd文件中?