Conexões SSL locais estão causando loop de redirecionamento (após atualização do Ubuntu)

Conexões SSL locais estão causando loop de redirecionamento (após atualização do Ubuntu)

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 onuma 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:443se 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 -tnão apresenta erros ou avisos

informação relacionada