我在用
Ubuntu 14.04
Apache Apache/2.4.7
我创建了一个 SSL 虚拟主机并提供了所需的密钥和证书文件,但它引用的位置不是/var/www/
提供的文件夹位置。以下是我正在使用的虚拟主机文件:
<VirtualHost 127.0.0.1:443>
DocumentRoot /var/www/myfolder/myroot/
ServerName www.mydomain.com:443
ServerAlias www.mydomain.com:443
ErrorLog logs/mydomain.com/error_ssl.log
TransferLog logs/mydomain.com/access_ssl.log
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
<Directory /var/www/myfolder/myroot/>
Options All
AllowOverride All
order allow,deny
Allow from all
</Directory>
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
我尝试了提供的解决方案这里。还尝试使用下面提到的标签作为虚拟主机:
<VirtualHost localhost:443>
<VirtualHost mydomain.com:443>
<VirtualHost 192.168.10.1:443> \\ my local IP on network
该帖子还启用了该网站a2ensite mydomain.com
请建议
答案1
更改打开虚拟主机标记:
<VirtualHost 127.0.0.1:443>
到:
<VirtualHost _default_:443>
只需澄清一下:当 VirtualHost 声明中的元组地址/端口匹配时,即可访问虚拟主机。
仅当从服务器本身(127.0.0.1)调用站点时,才会匹配前一个元组。
该_default_
关键字与访问的任何名称匹配:更适合default_ssl vhost。
这就是虚拟主机的 DocumentRoot 不被尊重的原因:虚拟主机不匹配。