Я запускаю nginx для работы со статическим контентом и как прокси-сервер Apache/mod_wsgi, обслуживающий django. У меня есть example.com и test.example.com в качестве прокси-сервера к Apache/Django и static.example.com, который обслуживает все статические файлы непосредственно через nginx. У меня есть подстановочный SSL-сертификат, так что каждый из этих субдоменов может использовать SSL (и у меня только один IP).
Почему при использовании listen 443 default_server ssl;
в либо test.example.com , либо example.com, SSL работает для обоих, но я должен явно прослушивать 443 для статики. 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) ...
}