I have multiple files each with a config for a different vhost.
On one of these config files (included in the main nginx config file) I set the default_server directive:
server {
listen 80;
listen 443 ssl default_server spdy;
server_name 188.166.X.XXX;
root /var/www/default;
index index.php index.html;
...
}
… but it's not respected. If I point the A record of a domain I didn't add in a nginx server block, the first server block in alphabetical order is picked up (instead of the default_server).
Why?
Best Answer
The
default_server
needs to be set for every port you use in your configuration. So, you need to adddefault_server
afterlisten 80;
to the virtual host you want to be the default server for port 80.