Chrome и Firefox автоматически перенаправляют на https на определенном сайте - PullRequest
4 голосов
/ 02 августа 2011

У меня есть сайт drupal, который работает на nginx и php-fpm с балансировкой haproxy между несколькими серверами.

У меня есть две службы, настроенные для haproxy: http и https.

если я перейду к http://subdomain.domain.com,, то все отлично работает.
Если я перейду к https://subdomain.domain.com,, то это тоже нормально работает. Если я затем вернусь к http, он теперь перенаправляет на https. Это происходит в Firefox и Chrome, но не в IE.

Есть ли где-нибудь настройка, которая автоматически перенаправляет на https, если знает, что она существует? Возможно, если установлен безопасный заголовок?

Я попытался просмотреть LiveHTTPHeaders, но на данный момент он показывает только часть https.
Я попытался посмотреть в Chrome, и он говорит это:

t=1312233405229 [st=  0] +REQUEST_ALIVE                             [dt=192]
t=1312233405229 [st=  0]     URL_REQUEST_START_JOB                  [dt=  0]
                             --> load_flags = 1114241 (ENABLE_LOAD_TIMING | MAIN_FRAME | VALIDATE_CACHE | VERIFY_EV_CERT)
                             --> method = "GET"                   
                             --> priority = 0                     
                             --> url = "http://subdomain.domain.com/"   
t=1312233405229 [st=  0]    +URL_REQUEST_START_JOB                  [dt=  0]
                             --> load_flags = 1114241 (ENABLE_LOAD_TIMING | MAIN_FRAME | VALIDATE_CACHE | VERIFY_EV_CERT)
                             --> method = "GET"                   
                             --> priority = 0                     
                             --> url = "http://subdomain.domain.com/"   
t=1312233405229 [st=  0]        URL_REQUEST_REDIRECTED              
                                --> location = "https://subdomain.domain.com/"

Кажется, он выполняет перенаправление, но не говорит, почему.

Я попытался перехватить данные с помощью Wireshark, но не смог ничего понять, так как не могу заставить работать расшифровку SSL (у меня есть ключ).

1 Ответ

5 голосов
/ 10 февраля 2012

Я понял это. У меня была настройка в nginx: add_header Strict-Transport-Security "max-age = 7200"; Это новая функция, поддерживаемая Chrome и Firefox 4: chromium.org/sts

...