apache virtualhost与ssl不在子目录上工作

时间:2018-01-25 17:02:56

标签: apache ssl virtualhost

我的虚拟主机SSL配置存在问题。 我的网站在HTTP和HTTPS的基本域www.my_domain.com上工作,但不适用于所有子目录。 例如:

我的虚拟主机设置如下:

<VirtualHost *:80>
 ServerAdmin my_domain@gmail.com
 DocumentRoot /var/www/html/
 ServerName www.my_domain.com
 ServerAlias my_domain.com
 ErrorLog /var/www/html/error.log

 Alias /secondary /var/www/html/secondary/
 <Directory /var/www/html/secondary/>
    Options FollowSymLinks MultiViews
    allow from all
    order allow,deny
    AllowOverride All
 </Directory>
</VirtualHost>

我的ssl.conf设置如下:

<VirtualHost _default_:443>
ServerName www.my_domain.com:443
...
SSLEngine on
SLProtocol all -SSLv2
SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
    SSLOptions +StdEnvVars
</Directory>
</VirtualHost>

错误是:在此服务器上找不到请求的URL /辅助。

1 个答案:

答案 0 :(得分:0)

由于它解决了OP的问题,这是我的评论作为答案。

您的SSL VirtualHost未定义DocumentRoot,因此它不知道在哪里查找/ secondary。 / secondary仅在您的HTTP(端口80)VirtualHost中定义。如果您希望两者都返回相同的内容,则必须将所有配置都放在其中。