Am un NGINX care ascultă pe portul 441 și SSLH care ascultă porturile: 441(https), 442(ssh) și, în sfârșit, STUNNEL ascultă pe portul 443, redirecționează către SSLH (portul 2243).
Configurație STUNNEL:
pid = /var/run/stunnel.pid
cert = /etc/letsencrypt/live/f1.example.com/fullchain.pem
cheie = /etc/letsencrypt/live/f1.example.com/privkey.pem
[sslh]
accept = 443
conecta = 127.0.0.1:2243
Configurare 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"
Configurare NGINX:
Server {
nume_server f1.example.com;
asculta 441;
access_log /var/log/nginx/f1.access;
error_log /var/log/nginx/f1.error;
locație /admin/ {
proxy_pass http://127.0.0.1:10000/;
proxy_set_header Gazdă $gazdă;
proxy_redirect http://$host:10000/ /admin/;
proxy_set_header X-Real-IP $adresă_la distanță;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $schema;
}
}
Server {
asculta 80;
returnează 302 https://$host$request_uri;
}
După cum puteți vedea, rulez o aplicație WEBMIN în calea /admin/ cu un proxy invers folosind NGINX. Problema mea aici este că atunci când scriu f1.example.com/admin în browser, acesta redirecționează la versiunea HTTPS care este https://f1.example.com/admin.
După o conectare cu succes, acesta redirecționează către http://f1.example.com:441/admin/sysinfo.cgi?xnavigation=1 care este în HTTP cu portul 441 (mă întreb cum se inserează numărul portului aici). Pagina se încarcă bine, dar nu este în HTTPS. Trebuie să elimin manual numărul portului și să apăs pe Enter pentru a-l actualiza la HTTPS.
Cum pot face ca acest lucru să funcționeze fără probleme cu HTTPS? Care sunt modificările pe care trebuie să le fac fișierului meu de conf. NGINX? Simt că îmi lipsește ceva aici.