Я использую директиву 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», с которым я не знаком.
Ура