如何在 Apache 2.2 上禁用非 SSL 连接

如何在 Apache 2.2 上禁用非 SSL 连接

我在 12.04 上使用 Apache 2.2。我已激活安全套接字使用自签名证书的连接工作正常,但现在我想禁用任何非 SSL联系。

我使用了 默认设置,但即使重新启动服务器后,a2dissite服务器仍然可以通过端口访问。80

请帮助我。

答案1

我终于让它工作了:

除了使用以下命令禁用默认页面外 a2dissite default,我还编辑/etc/apache2/ports.conf并注释了以下几行:

NameVirtualHost *:80  
Listen 80

答案2

更好的办法是保留“非 SSL 连接”(http),但永久重定向到 SSL 虚拟主机(https)。在这种情况下,文件.conf可能如下所示:

<VirtualHost *:80>

        ServerName www.example.com
        ServerAdmin [email protected]

        # Redirect Requests to SSL
        Redirect permanent "/" "https://www.example.com/"
            
        ErrorLog ${APACHE_LOG_DIR}/example.com.error.log
        CustomLog ${APACHE_LOG_DIR}/example.com.access.log combined

</VirtualHost>


<IfModule mod_ssl.c>

        <VirtualHost _default_:443>
                
                ServerName www.example.com
                ServerAdmin [email protected]

                DocumentRoot /var/www/html/www.example.com

                ErrorLog ${APACHE_LOG_DIR}/example.com.error.log
                CustomLog ${APACHE_LOG_DIR}/example.com.access.log combined

                SSLEngine on

                # other configuration directives...
        
        </VirtualHost>

</IfModule>

相关话题:

相关内容