Aceasta este o solicitare de bază, îi voi răspunde în mod generic deoarece Utilizatorul nu a furnizat suficiente informații pentru a fi mai precis. METOARE: Deci, acesta va răspunde în general.
Pre-informații
Utilizatorul spune că vrea să asculte sau să port 5000 pentru https
Redirecționare standard de la http la https
Server {
nume_server *.domeniu.tld domeniu.tld;
#ascultă pentru portul 80
asculta 80;
#redirecționare către https
returnează 301 https://$host$request_uri;
}
Ascultă NGINX pe portul 5000
Server {
nume_server *.domeniu.tld domeniu.tld;
#ascultă pentru Port 5000, http
asculta 5000;
#adaugă lucruri aici
}
Directiva standard de server https, folosind Certbot pentru generarea de certificate
Server {
#ascultă pe 443 pentru SSL (https) cu http 1.0/1.1
#ascultă 443 ssl;
#Ascultă pe 44 pentru SSL (https) cu http 2
asculta 443 ssl http2;
#Ceea ce ascultăm pentru domeniu
nume_server *.domeniu.tld domeniu.tld;
Locație / {
rădăcină /var/www/vhosts/domain.tld;
}
ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem; # gestionat de Certbot
ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem; # gestionat de Certbot
}
Basic Reverse-Proxy Ascultați pe portul 80 http ȘI pe portul 443 SSL
Server {
#ascultă pe 80 pentru https cu http 1.0/1.1
asculta 80;
#ascultă pe 80 pentru https cu http 2 (dezactivat, certbot nu îl înțelege pe portul 80)
#ascultă 80 http2;
#ascultă pe 443 pentru SSL (https) cu http 1.0/1.1
#ascultă 443 ssl;
#Ascultă pe 44 pentru SSL (https) cu http 2
asculta 443 ssl http2;
#Ceea ce ascultăm pentru domeniu
nume_server *.domeniu.tld domeniu.tld;
Locație / {
proxy_pass http://127.0.0.1:5000;
#https chiar funcționează
#proxy_pass https://127.0.0.1:5000;
proxy_set_header Gazdă $http_host;
}
ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem; # condus de
Certbot
ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem; # condus de
Certbot
}
Concluzii
Dacă doriți să ajungeți la Backend-ul dvs. pe Port 5000, trebuie să utilizați proxy_pass
, dacă doriți ca NGINX să asculte pe portul 5000, în cazul în care nu a fost folosit, ascultați asculta 5000 ssl;
Și, de asemenea, așa cum au spus deja alții, SSL este un protocol și nu este legat de un anumit port, este de obicei folosit 443, dar nu trebuie să-l asculte, aș putea folosi și 61337 pentru el.
Voi actualiza Răspunsul în cazul în care OP va actualiza întrebarea