Após uma atualização recente do Ubuntu, meus sites locais não estão mais veiculando suas páginas por SSL. Por exemplo, meu arquivo .htaccess tenta garantir que /sign-in seja sempre veiculado por HTTPS:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} /sign-in
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,QSA,R=301]
No entanto, quando faço uma solicitação para /sign-in no domínio site2-local , recebo o erro "A página não está redirecionando corretamente" com o seguinte em/var/log/apache2/error.log
[Tue Jun 08 12:20:57 2010] [info] [client 127.0.1.1] Connection to child 0 established (server site1-local:443)
[Tue Jun 08 12:20:57 2010] [info] Seeding PRNG with 656 bytes of entropy
[Tue Jun 08 12:20:57 2010] [info] Initial (No.1) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.2) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.3) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.4) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.5) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.6) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.7) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.8) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.9) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:20:57 2010] [info] Subsequent (No.10) HTTPS request received for child 0 (server site2-local:443)
[Tue Jun 08 12:21:12 2010] [info] [client 127.0.1.1] (70007)The timeout specified has expired: SSL input filter read failed.
[Tue Jun 08 12:21:12 2010] [info] [client 127.0.1.1] Connection closed to child 0 with standard shutdown (server site2-local:443)
Há uma conexão com o site1-local (outro site na minha máquina que compartilha o certificado), que não entendo.
Alguém sabe o que está causando esse problema?
Responder1
Não sei o que está causando o problema, mas eu mesmo o encontrei há algum tempo e encontrei uma solução alternativa para usar uma variável diferente para detectar solicitações https.
Você pode usar um %{SERVER_PORT}
ou %{SERVER_PROTOCOL}
.
Também pode ser um problema de capitalização. %{HTTPS}
pode muito bem estar "desligado" em vez de "desligado".
Em meus SSL VirtualHosts, tenho SetEnv HTTPS on
uma solução para um problema diferente que tive, mas também deve resolver o seu problema. A causa final que exigiu esta solução foi que a %{HTTPS}
variável não estava sendo definida corretamente. Se sua %{HTTPS}
variável não estiver sendo definida, configurá-la manualmente deverá resolver o problema.
Responder2
Acho que o HTTPS nem sempre pode ser definido quando o SSL não está ativado. Então testar a porta seria de fato uma boa solução (%{SERVER_PORT})
Responder3
Vamos primeiro ter certeza se o apache está escutando na porta https:
lsof -i:443
se você não encontrou nenhuma saída, o problema está no módulo SSL e não na regra de reescrita, especialmente porque você disse que a mesma regra estava funcionando corretamente antes da atualização.
Verifique também se a execução apache2ctl -t
não apresenta erros ou avisos