Uruchamiam nginx dla zawartości statycznej i jako serwer proxy dla Apache/mod_wsgi obsługujących django. Mam example.com i test.example.com jako serwer proxy dla Apache/Django i static.example.com, który obsługuje wszystkie pliki statyczne bezpośrednio przez nginx. Mam certyfikat SSL z wildcard, aby każda z tych subdomen mogła korzystać z SSL (a ja mam tylko jeden adres IP).Dlaczego funkcja nasłuchiwania `443 default_server ssl` działa dla wielu nazw serwerów w nginx?
Dlaczego jest to, że podczas korzystania listen 443 default_server ssl;
w albo test.example.com lub example.com, działa SSL zarówno dla jeszcze muszę wyraźnie słuchać 443 dla 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) ...
}
Zgadzam się z Łukaszem, wygląda na to, że zadziała, ale nie będę polegał na tej konfiguracji. Powinieneś jawnie dodać słuchać 443 –