Eseguo nginx per contenuto statico e come proxy per Apache/mod_wsgi che serve django. Ho example.com e test.example.com come proxy per Apache/Django e static.example.com che serve tutti i file statici direttamente tramite nginx. Ho un certificato SSL con caratteri jolly in modo che ciascuno di questi sottodomini possa utilizzare SSL (e ho solo un IP).Perché ascolta `443 default_server ssl` funziona per più nomi di server in nginx?
Perché è che quando si utilizza listen 443 default_server ssl;
in sia test.example.com o example.com, SSL funziona per entrambi ma devo ascoltare in modo esplicito a 443 per static.example.com?
ssl_certificate /etc/ssl/certs/example.chained.crt;
ssl_certificate_key /etc/ssl/private/example.key;
server {
listen 80;
listen 443;
server_name static.example.com;
# ... serves content ...
}
server {
listen 80;
listen 443 default_server ssl;
server_name example.com;
# ... proxy pass to http://example.com:8080 (apache) ...
}
server {
listen 80;
# why don't I need `listen 443;` here?
server_name test.example.com;
# ... proxy pass to http://test.example.com:8080 (apache) ...
}
Sono d'accordo con Luke, sembra che funzioni, ma non farei affidamento su quella configurazione. Probabilmente dovresti aggiungere esplicitamente ascoltare 443 –