Apache 的虚拟/默认页面

Apache 的虚拟/默认页面

我正在尝试为我的 apache2 设置默认页面,用于以下情况:

  1. 用户正在访问http://IP 地址而不是主机名
  2. 请求的协议(HTTP/HTTPS)不可用(例如,只有 https://domain.com 存在)

目前我有类似的东西

<VirtualHost eserver:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/local/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
</VirtualHost>


我认为,它运行良好,我正在尝试对 HTTPS 做类似的事情,但它不起作用。

<VirtualHost eserver:443>

       SSLCertificateKeyFile /etc/apache2/ssl/dummy.key
       SSLCertificateFile /etc/apache2/ssl/dummy.crt
       SSLProtocol all
       SSLCipherSuite HIGH:MEDIUM

       ErrorLog /var/log/apache2/error.log
       DocumentRoot /var/www/local/

       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel warn

       ServerSignature Off

</VirtualHost>

我的默认设置是将 sites-enabled 中的位置作为第一个 000-default
我不关心访问默认页面期间证书的有效性,我的目标是如果用户应用了其中一项,则不显示不同的 HTTPS 页面

答案1

嗯,你似乎没有在 HTTPS 虚拟主机中定义 DocumentRoot。从 HTTPS 虚拟主机复制 DocumentRoot 和 Directory Stanza。

答案2

虚拟指令ServerName可以达到这个效果。

<VirtualHost eserver:443>                                                                            

            ServerName default                                                                         

            SSLEngine on 
            SSLCertificateKeyFile /etc/apache2/ssl/dummy.key                                             
            SSLCertificateFile /etc/apache2/ssl/dummy.crt                                                
            SSLProtocol all
            SSLCipherSuite HIGH:MEDIUM                                                                   

            ErrorLog /var/log/apache2/error.log                                                          

            DocumentRoot /var/www/local/
            # Possible values include: debug, info, notice, warn, error, crit,                           
            # alert, emerg.                                                                              
            LogLevel warn                                                                                

            ServerSignature Off                                                                          

    </VirtualHost>

相关内容