У меня есть 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;