Локальные SSL-подключения вызывают циклическую переадресацию (после обновления Ubuntu)

Локальные SSL-подключения вызывают циклическую переадресацию (после обновления Ubuntu)

После недавнего обновления Ubuntu мои локальные веб-сайты больше не обслуживают свои страницы через SSL. Например, мой файл .htaccess пытается гарантировать, что /sign-in всегда обслуживается через HTTPS:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} /sign-in
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,QSA,R=301]

Однако когда я делаю запрос на /sign-in на домене site2-local, я получаю ошибку «Страница не перенаправляется должным образом» со следующим текстом:/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)

Существует соединение с site1-local (другой сайт на моем компьютере, который использует тот же сертификат), которое я не понимаю.

Кто-нибудь знает, в чем причина этой проблемы?

решение1

Я не знаю, что является причиной этой проблемы, но я сам некоторое время назад столкнулся с ней и нашел обходной путь, используя другую переменную для обнаружения https-запросов.

Вы можете использовать один из вариантов %{SERVER_PORT}или %{SERVER_PROTOCOL}.

Также это может быть проблема с заглавными буквами. %{HTTPS}вполне может быть «Выкл.», а не «выкл.».

В моем SSL VirtualHosts у меня есть SetEnv HTTPS onрешение другой проблемы, которая у меня была, но должно решить и вашу проблему. Конечной причиной, которая потребовала этого решения, было то, что переменная %{HTTPS}не была установлена ​​правильно. Если ваша %{HTTPS}переменная не была установлена, ее ручная установка должна решить проблему.

решение2

Я думаю, что HTTPS не всегда может быть установлен, когда SSL не включен. Так что тестирование порта действительно было бы хорошим решением (%{SERVER_PORT})

решение3

Давайте сначала удостоверимся, прослушивает ли Apache порт https: lsof -i:443если вы не обнаружили никаких выходных данных, то проблема связана с модулем SSL, а не с правилом перезаписи, тем более, что вы утверждаете, что это же правило работало правильно до обновления.

Также проверьте, что при запуске apache2ctl -tне возникает ошибок или предупреждений.

Связанный контент