Как использовать Nginx HTTPS за SSLH и STUNNEL

У меня есть NGINX, слушающий порт 441 и SSLH, слушающий порты: 441(https), 442(ssh) и, наконец, STUNNEL, слушающий на порту 443 с переадресацией на SSLH (порт 2243).

Конфиг STUNNEL:

pid = /var/run/stunnel.pid
cert = /etc/letsencrypt/live/f1.example.com/fullchain.pem
key = /etc/letsencrypt/live/f1.example.com/privkey.pem

[sslh]
accept = 443
connect = 127.0.0.1:2243

Конфиг SSLH:

DAEMON_OPTS="--user sslh --listen 127.0.0.1:2243 --ssh 127.0.0.1:442 --ssl 127.0.0.1:441 --pidfile /var/run/sslh/sslh.pid"

Конфиг NGINX:

server {
       server_name f1.example.com;
       listen 441;
       
       access_log /var/log/nginx/f1.access;
       error_log /var/log/nginx/f1.error;
              
       location /admin/ {
              proxy_pass http://127.0.0.1:10000/;
              proxy_set_header Host $host;
              proxy_redirect http://$host:10000/ /admin/; 
              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;
        }
}
server {    
    listen 80;
    return 302 https://$host$request_uri;
}

Как вы можете видеть, я запускаю WEBMIN приложение в /admin/ с обратным прокси с помощью NGINX. Моя проблема в том, что когда я просто набираю f1.example.com/admin в браузере, он перенаправляет на HTTPS версию, которая https://f1.example.com/admin.

После успешного входа он перенаправляет на http://f1.example.com:441/admin/sysinfo.cgi?xnavigation=1, который находится в HTTP с портом 441 (мне интересно, как номер порта вставляется сюда). Страница загружается нормально, но она не в HTTPS. Мне приходится вручную удалять номер порта и нажимать enter, чтобы она перешла на HTTPS.

Как я могу заставить это работать с HTTPS без проблем? Какие изменения мне нужно внести в файл NGINX conf? Мне кажется, что я что-то упускаю.

0
задан 28 August 2021 в 09:33
1 ответ
port_in_redirect off;

Добавил это в nginx conf и теперь работает как часы!

0
ответ дан 28 August 2021 в 12:35

Теги

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