Vamos Encriptar, Apache2 - Editando vhosts apropriadamente

1

Qual é a maneira correta de editar /etc/apache2/sites-enabled quando houver example.com.conf e example.com-le-ssl.conf ?

Devo editar os dois arquivos ao alterar alguma coisa? Ou apenas um e, em seguida, de alguma forma forçar certbot-auto para consertá-lo?

    
por Ondrej Vrabel 15.03.2017 / 18:07

1 resposta

2

Não sei qual é a resposta certa para a sua pergunta, mas sugiro a seguinte simplificação:

1. Força todos os usuários a usar HTTPS. A definição do HTTP VirtualHost deve ficar assim:

<VirtualHost *:80>

        ServerName example.com

        # Redirect Requests to SSL
        Redirect permanent / https://example.com/

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

</VirtualHost>

Desta forma, você precisará manter apenas a configuração do VirtualHost HTTPS.

2. Assim que você gerar os arquivos de certificado SSL "Vamos criptografar", descreva-os manualmente na definição do VirtualHost HTTP S :

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>

        ServerName example.com
        ServerAdmin [email protected]            

        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

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

        DocumentRoot /var/www/html    
        <Directory /var/www/html>
              # etc...
        </Directory>

        # etc...

    </VirtualHost>
</IfModule>

3. Insira as definições de ambos os VirtualHosts em um único arquivo de configuração:

<VirtualHost *:80>
        # etc...
</VirtualHost>

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        # etc...
    </VirtualHost>
</IfModule>

Este arquivo pode ser /etc/apache2/sites-available/example.com.conf .

4. Não se esqueça de a2dissite VirtualHosts desnecessários (respectivamente a2ensite o necessário) e reinicie o Apache.

5. Edite o crontab do root e adicione um trabalho que tentará renovar os certificados toda semana, por exemplo. Digite sudo crontab -e e adicione esta linha na parte inferior:

0 3 * * 0 /usr/bin/letsencrypt renew  >> /var/log/letsencrypt-renew.week-$(date +%W).log 2>&1

É isso.

    
por pa4080 15.03.2017 / 19:49