SSL 的虚拟主机未指向指定文件夹

SSL 的虚拟主机未指向指定文件夹

我在用

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 不被尊重的原因:虚拟主机不匹配。

相关内容