@dmb_1945

Как в nginx перенаправить https запрос на другой сервер (proxy_pass)?

Всем привет
Задача выполнять проксирование через nginx, причем прокси полностью- только перенаправление.
http перенаправляются нормально:
nginx:80 -> web1:80
nginx:80-> web2:80
nginx:443 -> ошибка. То есть он упорно пытается найти у себя сертификат, а нужно что бы он отдал запрос дальше на web3:443.
Запутано, но задача именно такая, на nginx ни каких ssl и тд только proxy_pass и redirect_url.
Все ssl и тд хранятся непосредственно на конечных web серверах.
Что только не пробовал ни чего не идет. Уже запутался и начинается тупой перебор параметров.
Ошибки в логах:
no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking
в браузере "Secure Connection Failed"
Буду благодарен за пинок в правильную сторону.

UPD: сейчас так, это работает на http
server {
listen 80;
listen 443 ssl;
server_name example.com www.example.com;

location / {
proxy_pass https://example.com/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
  • Вопрос задан
  • 16569 просмотров
Пригласить эксперта
Ответы на вопрос 3
greyhard
@greyhard
Программист, автолюбитель
Конечно не будет работать, вам надо получить для своего nginx сертифкат, даже бесплатный от Letsencrypt
Сейчас у вас получается атака "Men in the middle" вы не можете проксировать запросы так как nginx выполняет роль конечно точки SSL
Так как вы хотите будет работать только для проксирования по TCP протоколу либо попробуйте HAProxy для балансировки
https://community.ptc.com/t5/IoT-Tech-Tips/HAProxy...
Ответ написан
Black_beard_ast
@Black_beard_ast
Sysadmin/Ops engineer.
Можете поставить Haproxy, он умеет mode tcp.
Ответ написан
Комментировать
Как вы знаете apache и nginx умеет держать на одном порту и айпи сразу несколько сайтов, по сути имея костыль
разбирая заголовки http referer.
Онако задайте себе вопрос как можно получить этот рефери по каналу который еще не установлен?
Собственно тут и ответ ;) хочешь https - в начале гони ключи ;) а потом все остальное
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы