Добрый вечер. Поясните дураку, пожалуйста. Доселе думал, что великой разницы между
listen 80
listen 1.1.1.1:80
НО. Имея такую конфигурацию
server {
listen 1.1.1.1:80 default;
server_name _;
location / {
proxy_pass http://1.1.1.1:8080;
}
}
server {
listen 107.181.174.153:80;
server_name servername.com www.servername.com;
location / {
proxy_pass http://1.1.1.1:8080;
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|$
root /home/public_html;
expires max;
try_files $uri @fallback;
}
}
location @fallback {
proxy_pass http://1.1.1.1:8080;
}
}
Работает как и ожидалось. То есть, если выключить апач, то при запросе картинок мне все равно будет все отдаваться, потому что это делает nginx. Но если во втором server{} заменить listen 107.181.174.153:80; на listen 80; , то работает дефолтный server{} и я ловлю 502 gateway timeout.
Объясните на пальцах, как так? То есть nginx отработает сервер с совпавшим ip:порт, даже если есть совпадения по порт:server_name?