Обновлять поведение, при котором можно загружать только один сайт за раз, по-видимому, связано с клиентским браузером - если я открываю все 3 сайта в одном окне браузера (по одной вкладке каждый), то мы получаем поведение, описанное ниже. Если я использую 3 отдельных браузера (я использовал Edge, Opera и Chrome), то все 3 сайта загружаются, как и ожидалось. /Обновлять
У меня настроен обратный прокси-сервер Nginx для передачи внешнего трафика на один из 3 внутренних серверов (Windows Server 2019 с IIS 10) на основе URL (это для тестовой среды). Сервер nginx и веб-серверы находятся в одном и том же vlan.
Все работало как задумано до сегодняшнего утра, пока после перезагрузки веб-серверов nginx не смог загрузить только один из трех сайтов одновременно.
Если я попытаюсь открыть все 3 сайта, первый загрузится нормально, а два других сразу же выдадут ошибку 404. Если я подожду несколько минут и обновлю один из сайтов 404, он загрузится, но первый сайт, с которым все было в порядке, теперь перейдет на 404, то же самое произойдет, если загрузится третий сайт.
Конфигурация Nginx не менялась, и до перезагрузки сегодня утром все 3 сайта загружались одновременно.
Я протестировал конфигурацию nginx с помощью nginx -t, и все прошло нормально. Я перезагрузил конфигурацию nginx с помощью sudo systemctl reload nginx — поведение не изменилось. Я перезапустил сервер nginx — поведение не изменилось.
При прямом просмотре веб-серверов все 3 сайта работают в обычном режиме.
Я могу подключиться по telnet через порт 443 из nginx ко всем 3 веб-серверам и наоборот.
Есть ли какие-нибудь предположения, почему поведение могло измениться?
Конфигурация nginx выглядит следующим образом (я заменил фактические URL-адреса, но в остальном конфигурация не изменилась):
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 1024;
# multi_accept on;
}
#added by Ian to allow streaming
stream {
# To add additional websites and servers:
# Add the hostname and backend label to the map, then add the upstream blocks, as in the commented example below.
# ***Once you have updated the config you MUST reload nginx with the following command: sudo systemctl reload nginx
map $ssl_preread_server_name $name {
url.1.com GunServer;
url.2.com CatServer;
url.3.com BlueServer;
# <hostname of website goes here> <text label for the backend server goes here>;
# example: mywebsite.com myserver;
}
# Then create a new upstream block using the label set above as shown below
# upstream myserver {
# server <IP:port>;
#}
upstream GunServer {
server 10.25.2.12:443;
}
upstream CatServer {
server 10.25.2.13:443;
}
upstream BlueServer {
server 10.25.2.11:443;
}
server {
listen 443;
proxy_pass $name;
ssl_preread on;
}
}
# all settings below this line were from nginx example conf