У меня есть стандартная установка nginx на Ubuntu 12.04. Я хочу, чтобы обслуживал только один поддомен. Все остальные должны вернуть 404.
Я определил два сайта:
0 по умолчанию:
server {
listen *:80 default_server;
listen [::]:80 default_server ipv6only=on;
listen *:443 default_server ssl;
listen [::]:443 default_server ssl ipv6only=on;
return 404;
ssl_certificate /etc/nginx/ssl/mydomain.com.pem;
ssl_certificate_key /etc/nginx/ssl/mydomain.com.key;
server_name _ *.mydomain.com mydomain.com;
}
1-сайт:
server {
listen sub.mydomain.com:443;
ssl on;
ssl_certificate /etc/nginx/ssl/sub.mydomain.com.pem;
ssl_certificate_key /etc/nginx/ssl/sub.mydomain.com.key;
root /var/www/sub;
index index.html index.htm;
server_name sub.mydomain.com;
}
Но 1-сайт обслуживает все домены на порту 443, а не только sub.mydomain.com и не обслуживается по умолчанию 0.
Как я могу добиться желаемого поведения?