Não é possível obter o SSL trabalhando com o Apache

2

Ok, estou tentando configurar meu servidor para aceitar conexões SSL e não consigo trabalhar. Estou ciente de que há muitas perguntas semelhantes no site, mas todas as que eu encontrei até agora não parecem ajudar.

Vou postar o máximo de informações possível e espero que você possa ajudar.

Minha versão do apache é: 2.2.14 (rodando no Ubuntu). As informações abaixo parecem mostrar que o SSL está configurado e funcionando bem, mas quando tento acessar o link , a solicitação expira.

Eu obtive um certificado SSL através do GoDaddy e segui o processo para gerar o arquivo .crt.

Eu tenho os seguintes arquivos:

/home/ubuntu/ssl/website.com.crt
/home/ubuntu/ssl/website.com.key
/home/ubuntu/ssl/gd_bundle.crt

De acordo com meus arquivos de configuração:

/etc/apache2/ports.conf

NameVirtualHost *:80
NameVirtualHost *:443
Listen 80
Listen 443

/ etc / apache2 / sites-enabled / 000-default-ssl

<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName website.com

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

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

LogLevel warn

CustomLog /var/log/apache2/ssl_access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

    SSLEngine on
SSLCertificateFile    /home/ubuntu/ssl/website.com.crt
SSLCertificateKeyFile /home/ubuntu/ssl/website.com.key
    SSLCertificateChainFile /home/ubuntu/ssl/gd_bundle.crt

<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
    SSLOptions +StdEnvVars
</Directory>

BrowserMatch "MSIE [2-6]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

</VirtualHost>

O site está funcionando bem sobre o HTTP normal, então eu não vou postar a configuração para isso (eu posso, se você quiser ver!)

  • O Apache é reiniciado sem erros.
  • Não parece haver erros no arquivo de log de erros.

O comando netstat mostra o apache escutando na porta correta:

    netstat -tap | grep https
    tcp   0   0   *:https   *:*   LISTEN   24840/apache2

Também pode ser útil encontrar o comando s_client .

    openssl s_client -connect localhost:443

Ao usar localhost, tudo parece estar normal (não posso dizer que sei o que é normal, mas há muita informação relevante e não parece haver nenhum erro).

    openssl s_client -connect <ip-address>:443
    openssl s_client -connect website.com:443

Ambos os erros de saída acima:

    connect: Connection timed out
    connect:errno=110

Me deparei com muitas das informações de diagnóstico acima ao tentar fazer o SSL funcionar, mas não tenho certeza do que fazer com as informações e agora estou preso.

Se precisar de mais alguma informação, basta perguntar!

Obrigado, Tom.

    
por user491704 19.03.2012 / 15:46

3 respostas

4

O erro

Connection timed out

Indica que openssl não consegue completar um handshake TCP na porta 443 do seu servidor.

O problema mais provável é a configuração do iptables ou um firewall externo executado pelo provedor de hospedagem.

    
por 19.03.2012 / 17:22
0

Um simples google para erro ssl 110 traz vários problemas com o GoDaddy e o SSL.

Se o GoDaddy for também o seu hoster, sugiro que o levem consigo, pois parece ser um problema do lado deles.

    
por 19.03.2012 / 15:52
0

Eu noto:

<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

Em particular, a linha Allow from . Então, basicamente, só está permitindo conexões do host local. Portanto, conectar-se ao localhost: 443 funcionará bem, mas a conexão pelo endereço IP externo não funcionará.

Eu compararia isso com o que você tem em sua seção não- <VirtualHost> do SSL e use isso.

    
por 19.03.2012 / 16:17