apache SSL VirtualHost显示测试页

cbjzeqam  于 2023-03-31  发布在  Apache
关注(0)|答案(2)|浏览(91)

我正在使用Apache httpd,并具有以下VirtualHost配置:

<VirtualHost *:443>
    ServerName www.test.site
    ServerAlias test.site
    DocumentRoot /var/www/test.site/html
    ErrorLog /var/www/test.site/log/error.log
    CustomLog /var/www/test.site/log/requests.log combined
        SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/ca.crt
        SSLCertificateKeyFile /etc/pki/tls/private/ca.key

        <Directory /var/www/html>
                AllowOverride none

                Order Allow,Deny
                Allow from all
        </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName www.test.site
    ServerAlias test.site
    DocumentRoot /var/www/test.site/html
</VirtualHost>

当在浏览器中输入http://test.site时,我看到了我想看到的内容。然而,https://test.site返回Apache测试页面,即使我指定了相同的DocumentRoot。
可能是什么原因呢?先谢谢你了。
我尝试更改VirtualHost配置。我创建了新的证书,它们没有错误。

koaltpgm

koaltpgm1#

尝试删除文件000-default.conf或000-default-ssl.conf从目录sites-enabled,如果存在这一个。
那就换吧

<VirtualHost *:80>
    ServerName www.test.site
    ServerAlias test.site
    DocumentRoot /var/www/test.site/html
</VirtualHost>

<VirtualHost *:80>
    ServerName www.test.site
    ServerAlias test.site
    DocumentRoot /var/www/test.site/html
RewriteEngine on
RewriteCond %{SERVER_NAME} =test.site [OR]
RewriteCond %{SERVER_NAME} =test.site
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

好的做法是将虚拟虚拟主机放在虚拟主机配置的第一位,如下所示。

<VirtualHost *:80>
    ServerName default
    RewriteEngine On
    RewriteRule .* - [G]
</VirtualHost>

也许这是有帮助的。

72qzrwbm

72qzrwbm2#

好了,我终于找到问题了。在/etc/httpd/conf.d/文件夹中,有一个ssl.conf,其中包含:

<VirtualHost _default_:443>

删除它,或者将default更改为123.123.123.123,可以解决这个问题,尽管可以说这不是一个优雅的解决方案。

相关问题