2015-09-21 4 views
1

Я искал stackoverflow, ища ответ и все, что было предложено, я пробовал без успеха.NGINX Переадресовать все на https, кроме одного каталога

Мой сайт перенаправляет пользователей на использование SSL (https). Однако у меня есть приложение чата, которое не работает на SSL, потому что оно не лицензируется с использованием URL-адреса ssl. Я не могу заставить разработчиков обновить лицензию, но это еще одна история.

Так что из-за этого я разрешаю использовать не-ssl (http) только это приложение чата, которое находится в подкаталоге chat.

Вот мой конфиг, и он не работает:

server { 
    listen 80; 

    location/{ # the default location redirects to https 
     return 301 https://$server_name$request_uri; 
    } 

    location /chat/ {} # do not redirect requests for chat location 
    # ... 
} 


server { 
    listen 443; 

    location /chat/ { # redirect https iframe requests to http server 
     return 301 http://$server_name$request_uri; 
    } 
    # ... 
} 

Я пробовал много комбинаций из вещей, в том числе 302 вместо 301 (очистки кэша браузера при попытке это), завершающий слэш против неправительственного -трегающая косая черта. Ничто не работает.

Что сумасшедшее, это работает, пока я не обновил блок SSL, чтобы быть более безопасным и получить тег A +. Не уверен, что я удалил или добавил, что могло повлиять на это.

И наконец, если очистить кэш браузера, и перейти непосредственно к

http://example.com/chat/test.htm

, он не перенаправляет который является правильным. Однако, как только я перехожу к https://example.com, затем в http://example.com/chat/test.htm, браузер говорит, что есть бесконечные переадресации.

Любые идеи?

+0

Можете ли вы, пожалуйста, показать свои журналы? Вы пробовали его в «частном окне» браузера? – uzsolt

+0

uzsolt, я смог обнаружить проблему, см. Мой ответ. Благодарю. – RobDiablo

ответ

0

Похоже, я добавил заголовки HSTS к своему блоку SSL, который сообщает браузеру принудительно использовать SSL. Это вызывало бесконечные переадресации. Я изменил возраст по директиве HSTS на 0, поэтому, надеюсь, это сбросит мои браузеры пользователей.

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