Назад | Перейти на главную страницу

nginx: server_name и server_addr неверны с обратным прокси перед ним

У меня есть stunnel перед nginx для обработки ssl. (Я знаю, что nginx может обрабатывать ssl, но я перехожу с nginx, и это необходимый шаг.)

Stunnel и nginx работают на одном компьютере.

Без stunnel перед nginx, nginx получил server_addr и server_name в качестве общедоступного IP-адреса коробки и домена URL-адреса, который я получал, соответственно.

Теперь с stunnel nginx считает, что server_addr и server_name равны 127.0.0.1 и localhost соответственно. Это облажается кучей вещей.

Как я могу заставить nginx получать (или отправлять stunnel) правильные server_addr и server_name?

Однако, поскольку Stunnel является прокси-сервером и не знает HTTP, IP-адрес клиента был потерян, что несколько раздражает.

Попробуйте ngx_http_realip_module и X-Forwarded-For поддержка Stunnel:

set_real_ip_from   192.168.2.1;
real_ip_header     X-Forwarded-For;