アップデート 一度に 1 つのサイトしか読み込めないという動作は、クライアント側のブラウザに関連しているようです。3 つのサイトすべてを 1 つのブラウザ ウィンドウ (それぞれ 1 つのタブ) で開くと、以下に示すような動作になります。3 つの別々のブラウザ (Edge、Opera、Chrome を使用) を使用すると、3 つのサイトすべてが期待どおりに読み込まれます。 /アップデート
私は、URL に基づいて 3 つの内部サーバー (IIS 10 を実行している Windows Server 2019) の 1 つに外部トラフィックを渡すための Nginx リバース プロキシを設定しました (これはテスト環境用です)。nginx サーバーと Web サーバーはすべて同じ VLAN にあります。
これは今朝まで意図したとおりに機能していましたが、Web サーバーを再起動した後、nginx は一度に 3 つのサイトのうち 1 つしかロードできなくなりました。
3 つのサイトすべてを開こうとすると、最初のサイトは通常どおりに読み込まれますが、他の 2 つのサイトではすぐに 404 エラーが発生します。数分待って 404 の 1 つを更新すると読み込まれますが、問題なかった最初のサイトが 404 になり、3 番目のサイトが読み込まれた場合も同じことが起こります。
Nginx の設定は変更されておらず、今朝の再起動前に 3 つのサイトすべてが同時に読み込まれていました。
nginx -t で nginx conf をテストしたところ、問題ありませんでした。sudo systemctl reload nginx で nginx conf をリロードしましたが、動作に変化はありませんでした。nginx サーバーを再起動しましたが、動作に変化はありませんでした。
Web サーバーを直接参照すると、3 つのサイトすべてが通常どおり動作します。
ポート 443 で nginx から 3 つの Web サーバーすべてに telnet でき、その逆も可能です。
動作が変化した理由について何かアドバイスはありますか?
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