Обновлять
поведение, связанное с возможностью загрузки только одного сайта за раз, похоже, связано с браузером на стороне клиента. Если я открою все 3 сайта в одном окне браузера (по одной вкладке в каждом), мы получим поведение, описанное ниже. Если я использую 3 разных браузера (я использовал Edge, Opera и Chrome), то все 3 сайта загружаются должным образом.
/Обновлять
У меня есть настройка обратного прокси-сервера Nginx для передачи внешнего трафика на один из 3 внутренних серверов (сервер Windows 2019 с IIS 10) на основе URL-адреса (это для среды тестирования). Сервер nginx и веб-серверы находятся в одном vlan.
Это работало как задумано до сегодняшнего утра, когда после перезагрузки веб-серверов nginx теперь может загружать только один из 3 сайтов за раз.
Если я пытаюсь открыть все 3 сайта, то первый загружается как обычно, а остальные 2 моментально выдают ошибку 404. Если я подожду несколько минут и обновлю один из 404-х, он загрузится, но первый сайт, который был в порядке, теперь перейдет на 404, то же самое произойдет, если загружен третий сайт.
Конфигурация Nginx не изменилась и загружала все 3 сайта одновременно до перезагрузки сегодня утром.
Я проверил конфиг nginx с помощью nginx -t, который вернулся нормально
Я перезагрузил конфиг nginx с помощью sudo systemctl reload nginx - никаких изменений в поведении
Я перезапустил сервер nginx - никаких изменений в поведении
При просмотре веб-серверов напрямую все 3 сайта работают в обычном режиме.
Я могу подключиться через порт 443 с nginx ко всем трем веб-серверам и наоборот.
Любые предложения относительно того, почему поведение могло измениться?
Конфигурация nginx выглядит следующим образом (я заменил фактические URL-адреса, но в остальном конфигурация не изменилась):
www-данные пользователя;
рабочие_процессы авто;
pid /run/nginx.pid;
включить /etc/nginx/modules-enabled/*.conf;
События {
worker_connections 1024;
# multi_accept on;
}
#добавлен Яном, чтобы разрешить потоковую передачу
транслировать {
# Чтобы добавить дополнительные сайты и серверы:
# Добавьте имя хоста и метку бэкенда на карту, затем добавьте блоки восходящего потока, как в примере с комментариями ниже.
# ***После того как вы обновили конфигурацию, вы ДОЛЖНЫ перезагрузить nginx с помощью следующей команды: sudo systemctl reload nginx
карта $ ssl_preread_server_name $ имя {
url.1.com GunServer;
url.2.com CatServer;
url.3.com BlueServer;
# <здесь идет имя хоста веб-сайта> <здесь идет текстовая метка для внутреннего сервера>;
# пример: mywebsite.com myserver;
}
# Затем создайте новый восходящий блок, используя установленную выше метку, как показано ниже.
# восходящий сервер {
# сервер <IP:порт>;
#}
вышестоящий GunServer {
сервер 10.25.2.12:443;
}
восходящий CatServer {
сервер 10.25.2.13:443;
}
восходящий BlueServer {
сервер 10.25.2.11:443;
}
сервер {
слушать 443;
прокси_пароль $имя;
ssl_preread включен;
}
}
# все настройки ниже этой строки взяты из nginx example conf