Como desativar a conexão não-SSL no Apache 2.2

10

Estou usando o Apache 2.2 em 12.04. Eu ativei a conexão ssl com um certificado autoassinado que funciona bem, mas agora eu gostaria de desativar qualquer conexão não-ssl .

Usei o a2dissitepadrão, mas o servidor ainda está acessível na porta, 80mesmo após reiniciar o servidor.

Por favor me ajude nisso.

user87954
fonte

Respostas:

10

Finalmente eu tenho que trabalhar:

Além de desativar a página padrão com a2dissite default:, editei /etc/apache2/ports.confe comentei as seguintes linhas:

NameVirtualHost *:80  
Listen 80
user87954
fonte
9

Uma idéia melhor é manter a "conexão não SSL" (http), mas permanentemente redirecionada para o seu host virtual SSL (https). Nesse caso, o .confarquivo deve se parecer com:

<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>

Tópicos relacionados:

pa4080
fonte
Você pode explicar por que é uma idéia melhor não desativar o HTTP? Estou investigando prós e contras de desativação porta 80.
Marco Marsala
5
@MarcoMarsala, na maioria dos casos, quando HTTP (porta 80) é desativado e você está tipo no navegador http://your.domain.com(ou apenas your.domain.com), você receberá "página não encontrada" - a menos que você digita https://your.domain.com...
pa4080