
По какой-то причине мне поручено выполнить переписывание URL с HTTPS на HTTP.
Предыстория: Я использую Nginx в качестве обратного прокси-сервера и мне нужно, чтобы блок location находился в блоке 443, в то время как приложение выдает смешанные ошибки ресурсов и не работает по HTTPS (так говорит разработчик).
Что я хочу получить: Я хочу, чтобы блок местоположения Nginx находился в блоке 44 сервера, но весь трафик проходил по HTTP (80).
Кто-нибудь знает, как это сделать? Я думал о переписывании URL.
И да, я знаю, что было бы разумнее поместить его в блок сервера порта 80, а не 443. У пожилых людей иногда возникают странные идеи.
Расположение блока
location /solution_tools/ {
auth_basic "Please enter your credentials";
auth_basic_user_file solutions_utils.pass;
proxy_pass http://solution_tools/;
}
решение1
«приложение выдает смешанные ошибки ресурсов и не работает по HTTPS (так утверждает разработчик)»
Затем разработчик должен исправить приложение, поскольку в наши дни любое веб-приложение, не поддерживающее HTTPS, полностью устарело.
Если приложение невозможно исправить, то вместо того, чтобы перенаправлять обратно на обычный HTTP, сделайте наоборот, максимально используйте тот факт, что вы уже используете обратный прокси-сервер, и перепишите «неисправный» HTML-код, который ссылается на абсолютные URL-адреса через обычный http, http://www.exameple.com/
на https httpS://www.exameple.com/
и таким образом исправьте проблему смешанного контента.
http://nginx.org/en/docs/http/ngx_http_sub_module.html:
location / {
sub_filter 'http://$host/' '"https://$host/';
sub_filter_once on;
}