Como habilitar o SSL na instância do ubuntu apache2 ec2 corretamente?

4

Eu configurei um servidor do Ubuntu (2.4.7) para SSL, mas o certificado não parece ser encontrado. O Ubuntu está sendo executado em uma instância do EC2 com IP estático, habilitado para 443 portas e nome de domínio theaudioserver.com com registro DNS para esse IP estático. Veja como eu configuro meu servidor:

  • Chave criada: openssl genrsa 2048 > privatekey.pem
  • Solicitação de certificado gerada: openssl req -new -key privatekey.pem -out csr.pem
  • comprou um certificado SSL da CA com as chaves csr e salva em server.crt e server_bundle.crt
  • adicionado o arquivo ssl.conf em / etc / apache2 / sites-available, configurado para SSL:
    SSLStaplingCache shmcb:/tmp/stapling_cache(128000) <VirtualHost *:443>
    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All -SSLv2 -SSLv3 SSLHonorCipherOrder On Header always set
    Strict-Transport-Security "max-age=63072000; includeSubdomains;
    preload" Header always set X-Frame-Options DENY Header always set
    X-Content-Type-Options nosniff
    SSLCompression off SSLUseStapling on
    ServerName theaudioserver.com
    SSLEngine on
    SSLCertificateFile /home/ubuntu/certs/server.crt
    SSLCertificateKeyFile /home/ubuntu/certs/privatekey.pem
    SSLCertificateChainFile /home/ubuntu/certs/server_bundle.crt

    DocumentRoot /var/www/html/
</VirtualHost>
  • adicionou SSL com sudo a2enmod ssl
  • reiniciou o apache2 com sucesso (sem nenhum erro no log)
  • Também verifiquei se o apache2 está escutando 443 e parece ouvir corretamente: sudo netstat -anp | grep apache dá: tcp6 0 0 :::443 :::* LISTEN 3138/apache2

Mas quando eu testo meu domínio, o certificado não parece ser encontrado.

No ssllabs.com, obtenho No SSL certificates were found on theaudioserver.com. Make sure that the name resolves to the correct server and that the SSL port (default is 443) is open on your server's firewall .

Ao acessar o servidor pelo link , recebo um erro de incompatibilidade de nome, pois não estou acessando por meio do nome de domínio, mas isso mostra que o servidor firewall no EC2 parece estar configurado corretamente.

O que estou fazendo de errado aqui?

    
por user2212461 27.12.2015 / 09:41

2 respostas

2

Não estou tendo nenhuma conexão com o servidor na porta 443, parece um problema de firewall. Você abriu a porta 443 em seu firewall do grupo de segurança EC2. Você o abriu no firewall do seu host?

Atualizar;

Seu DNS está configurado incorretamente

dig +short theaudioserver.com
52.25.39.220

Considerando que você diz que pode se conectar via 52. 24 .39.220.

    
por 27.12.2015 / 19:49
0

Use um arquivo .htaccess no diretório-raiz do seu site para redirecionar as solicitações recebidas na porta não segura para a porta segura, por exemplo, http: // - > https: //

O arquivo deve conter algo assim:

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

Você precisa editar default em sites-available para conter:

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

Isso permite que .htaccess trabalhe nesse diretório e em todos os diretórios contidos, daí todo o seu site.

    
por 28.12.2015 / 00:11