2015-10-29 3 views
2

На веб-сайте, который в настоящее время работает на HTTPS, я хочу перенаправить некоторые страницы на HTTP и не использовать SSL на них. В Nginx я настроил его так:Nginx перенаправляет на ошибки, отличные от https в Firefox

server{ 
    listen 80; 
    server_name example.com; 
    location/{ 
     root /var/some/where; 
    } 

    location /secure { 
     return 301 https://example.com$request_uri; 
    } 
} 

server{ 
    listen 443 ssl; 
    server_name example.com; 
    include ssl_params; 
    location /secure { 
     root /var/some/where/secure; 
    } 

    location/{ 
     return 301 http://example.com$request_uri; 
    } 
} 

Использование curl я могу видеть все в порядке следующим образом:

$ curl -sIL https://example.com/ | grep HTTP 
HTTP/1.1 301 Moved Permanently 
HTTP/1.1 200 OK 

$ curl -sIL http://example.com/ | grep HTTP 
HTTP/1.1 200 OK 

Но когда я пытаюсь открыть HTTPS URL в Firefox, я получаю эту ошибку :

The page isn't redirecting properly. 
Firefox has detected that the server is redirecting the request for this address in a way that will never complete. 
This problem can sometimes be caused by disabling or refusing to accept cookies 

Использование частного окна, когда я пытаюсь открыть URL в HTTP в первый раз, все в порядке. Но как только я обновляю страницу, она будет перенаправлена ​​на схему HTTPS, и ошибка снова появится.

ответ

0

Учитывая Strict-Transport-Security: max-age=15768000 как результат curl -i -L на целевом домене, что означает hsts заголовок существует и по определению:

tells your browser to always connect to a particular domain over HTTPS. Attackers aren’t able to downgrade connections, and users can’t ignore TLS warnings.

0

У вас есть сертификат? Ничего не отображается в вашей конфигурации.

Принцип работы заключается в том, чтобы открыть защищенное соединение (используя сертификат), а затем вернуть контент (включая любую переадресацию). Невозможно перенаправить до, создав безопасное соединение (поскольку это было бы большой угрозой безопасности для https, если это было возможно).

+0

Да. Извините, я обновил сообщение, так что теперь он показывает, что я загружаю в него некоторые связанные с SSL переменные. – Shahinism

+0

Я до сих пор не вижу конфигурацию ssl_certificate и ssl_certifucate_key. См. Здесь примеры: https://www.digicert.com/ssl-certificate-installation-nginx.htm –

+0

Все они определены в 'ssl_params'. Нет проблем с 'SSL', так как я сказал, что он работает сейчас. – Shahinism

Смежные вопросы