Quando o Ubuntu 16.04 usa /etc/apache2/ssl/apache.crt?

1

Eu tenho algum servidor Ubuntu 16.04 em execução e configurei um vhost no apache2 que usa (ou deveria usar) ssl.

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

        ServerAdmin [email protected]
        ServerName my.domain.name.de
        DocumentRoot /var/www/mysslsite

        <Directory /var/www/mysslsite>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/mysite.ssl.error.log
        CustomLog ${APACHE_LOG_DIR}/mysite.ssl.access.log combined

        </VirtualHost>
</IfModule>

Eu fiz NÃO para ativar os sites padrão disponíveis / default-ssl.conf.

Agora posso navegar até link e ele está pedindo no firefox para adicionar alguma exceção que é totalmente normal se eu fizesse não compre nenhum certificado.

Mas eu queria saber onde está configurado que deve usar os certificados no diretório / etc / apache2 / ssl /. Eu não consigo encontrar nenhuma configuração onde é dito para usar isso. Eu sempre pensei que usaria algo da pasta / etc / ssl.

Ou eu talvez não ative o SSL corretamente?

    
por Andi S. 05.04.2017 / 11:40

1 resposta

3

De acordo com alguns manuais, os arquivos de certificado SSL devem ser colocados em /etc/apache2/ssl/ , mas eles podem ser colocados em uma pasta diferente, dependendo da sua própria configuração.

Para ter acesso HTTPS ao seu site, você deve ativar o SSLEngine e fornecer um válido Certificado SSL .

Para este propósito, você deve usar a ferramenta de linha de comando OpenSSL para gerar seu próprio certificado. Então você precisa validar o certificado em qualquer provedor como COMODO , StarSSL , seu provedor de DNS local, etc. Geralmente eles oferecem certificados gratuitos por alguns meses. Em relação a esta forma de geração de certificados, você pode olhar para estes guias: para 14.04 e 16.04 .

Além disso, você pode usar a ferramenta de software Vamos criptografar . Na página Vamos criptografar os primeiros passos :

  

Para ativar o HTTPS no seu site, você precisa obter um certificado (um tipo   arquivo) de uma autoridade de certificação (CA). Vamos criptografar é uma CA. Dentro   Para obter um certificado para o domínio do seu site da Let’s   Criptografar, você tem que demonstrar controle sobre o domínio. Com Let   Criptografar, você faz isso usando um software que usa o protocolo ACME, que   normalmente é executado no seu host.


Eu sugiro que você use o Let's Encrypt, neste estágio. Então vamos começar.

- instalar Vamos criptografar:

sudo apt install python-letsencrypt-apache

- gera o certificado. Para gerar um certificado SSL compatível com o Apache, basta digitar: letsencrypt --apache . Este comando iniciará o diálogo interativo (no qual você deverá preencher os dados pessoais do seu site) e gerará o arquivo HTTPS.conf com base no arquivo HTTP.conf existente.

Você pode usar e alguns parâmetros adicionais, por exemplo, letsencrypt --apache certonly farão o mesmo que acima, mas não gerarão HTTPS.conf file.

Além disso, você pode colocar todos os parâmetros necessários para evitar o diálogo. De acordo com as informações fornecidas na pergunta, nosso comando deve ser semelhante:

sudo letsencrypt --apache certonly --rsa-key-size 4096 --email [email protected] -d my.domain.name.de

Vamos supor que você escolha a última abordagem. O comando gerará todos os arquivos de certificado necessários e eles serão colocados na pasta /etc/letsencrypt/archive/my.domain.name.de/ . Além disso, esses arquivos serão vinculados por sym na pasta /etc/letsencrypt/live/my.domain.name.de/ . Esses links simbólicos serão atualizados automaticamente no futuro, então vamos usá-los.

3rd - configure (manualmente) o seu VirtualHost HTTPS. De acordo com o acima, o arquivo de configuração deve se parecer com:

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

       ServerAdmin [email protected]
       ServerName my.domain.name.de
       DocumentRoot /var/www/mysslsite           

        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/my.domain.name.de/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/my.domain.name.de/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/my.domain.name.de/chain.pem

        <Directory /var/www/mysslsite>
            Options FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/mysite.ssl.error.log
        CustomLog ${APACHE_LOG_DIR}/mysite.ssl.access.log combined

    </VirtualHost>
</IfModule>

- a2ensite do novo VirtualHost, apenas no caso a2enmod ssl e reinicie o Apache. É isso aí. Espero que agora você tenha acesso HTTPS ao seu site.

5th - renove seu certificado para o futuro. Para este propósito, você pode editar o Crontab do root e adicionar um trabalho que tentará letsencrypt renew dos certificados, todos os domingos às 3 : 00 AM por exemplo. Digite sudo crontab -e e adicione esta linha na parte inferior:

0 3 * * 0 /usr/bin/letsencrypt renew >> /var/log/letsencrypt-renew.log 2>&1


Esta resposta é baseada em esta .

    
por pa4080 05.04.2017 / 13:37