При обработке запроса Nginx серверный блок выбирается так:
Проверка директивы listen
для IP: точные совпадения портов, если совпадений нет, проверьте совпадения IP-адресов ИЛИ портов. IP-адреса без порта считаются портом 80.
Из этих совпадений он затем проверяет заголовок Host запроса на соответствие директиве server_name
в сопоставляемых блоках. Если он находит совпадение, то этот сервер обрабатывает запрос, если нет, то при условии, что директива default_server
не установлена, запрос будет передан на сервер, указанный первым в вашей конфигурации.
Таким образом, у вас есть server_name 35.237.158.31;
на порту 80 и server_name jesse.red;
также на порту 80
IP-адреса должны быть частью директивы listen
, а не server_name
, хотя это может соответствовать некоторым запросам. Предполагая, что к этому обращаются из внешнего мира, маловероятно, что jesse.red
будет в чьих-либо заголовках хоста.
Если предположить, что совпадений нет, то он будет передан на любой сервер, который Nginx сначала найдет с совпадением портов, я предполагаю, что Nginx будет работать в алфавитном порядке при включении файлов, поэтому ваши конфигурации будут загружаться так:
- / и т.д. / Nginx / сайты с поддержкой / по умолчанию
- / и т.д. / Nginx / сайты с поддержкой / jesse.red
и теперь все ваши запросы на порт 80 без совпадения хоста или с IP-адресом в поле хоста проксируются на:
upstream reverse_proxy {
server 35.237.158.31:8080;
}
В любом случае, это мое предположение, ваши журналы Nginx, вероятно, дадут вам довольно определенный ответ.