Я использую директиву proxy_pass для вышестоящего сервера https. Прокси-сервер предназначен для клиентов LAN. Однако у меня проблема с вышестоящим приложением django, которое отклоняет запросы HTTP POST из-за небезопасного заголовка реферера
Можно ли переписать заголовок http_referer
на https?
пример
http://192.168.1.5/application/page -> https://upstream.backend/application/page
У меня больше опыта работы с Apache. Но файлы .conf во многом такие же.
Итак, вы в основном хотите переписать все запросы http на https?
И 192.168.1.5 разрешается в upstream.backend в вашем DNS?
Если это так, и вы используете последние версии, вам сначала нужно сгенерировать сертификат SSL для использования .. Достаточно просто, вы предполагаете, что вы используете дистрибутив Linux, поэтому я проведу вас через это через оболочку или ssh:
введите свою информацию, и будет сгенерирован 2048-битный (неподписанный) сертификат, который вы можете использовать для порта nginx 443. Поскольку вы находитесь в локальной сети, покупка SSL-сертификата будет пустой тратой. .
Отсюда вам нужно заполнить / etc / nginx / sites-enabled / default всей указанной выше информацией, такой как домены, расположение сертификатов (не забудьте указать nginx, чтобы он прослушивал порт 443) .. следующий шаг - для прохода прокси:
... местоположение / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://192.168.1.5/application/page;
proxy_read_timeout 90;
proxy_redirect http://192.168.1.5/application/page https://upstream.backend/application/page;
} ...
ПРИМЕЧАНИЕ: Это может сработать, а может и не сработать, поскольку я пропустил пару вещей, которые обычно не использовал бы. Я бы попробовал это. Если nginx не поддерживает «приложение / страницу», попробуйте просто http://192.168.1.5 и https: //upstream.backend .
Если ничего не помогает, поиск "jenkins", с которым я не знаком.
Ура