Я искал 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, браузер говорит, что есть бесконечные переадресации.
Любые идеи?
Можете ли вы, пожалуйста, показать свои журналы? Вы пробовали его в «частном окне» браузера? – uzsolt
uzsolt, я смог обнаружить проблему, см. Мой ответ. Благодарю. – RobDiablo