Vreau să deservesc mai multe site-uri pe serverul meu. Fiecare site pe care presupun că trebuie să împacheteze ca build docker-compose, fiecare are propriul său nginx, care ascultă un singur port
Am un site cu numele gazdă site1.com. Docker Compose expune portul 81:
...
Servicii:
web:
imagine: nginx
...
porturi:
- „81:443”
...
...
Și clientul nginx (în interiorul containerului) ascultă totul pe 443 și are toate setările ssl
Server {
asculta 443 ssl;
ssl_certificate /etc/letsencrypt/fullchain1.pem;
ssl_certificate_key /etc/letsencrypt/privkey1.pem;
#...
# și orice altceva
}
Și aici este gazda nginx, care doar trece de la portul 80 la 81 în funcție de server_name:
Server {
asculta 80;
asculta [::]:80;
nume_server site1.com;
Locație / {
proxy_pass https://localhost:81;
}
}
Deocamdată funcționează. Dar este nesigur. Așa că încerc să adaug 443 de redirecționare.
Server {
asculta 443;
asculta [::]:443;
nume_server bederdinov.me;
Locație / {
proxy_pass https://localhost:81;
}
}
Nginx repornește bine, dar când merg la https://site1.com
Primesc un ERR_SSL_PROTOCOL_ERROR
Pare destul de evident - gazda nginx încearcă să servească cererea cu ssl, dar numai clientul docker nginx știe cum să o facă
Cum pot spune gazdei nginx că nu trebuie să facă nimic, ci doar să transmită toată munca clientului nginx? Sau poate există un alt software de server pe care îl pot folosi pentru această sarcină?