
同じポート(443)を介してネットワーク上の複数のサーバーへのWebアクセスを有効にするためにnginxプロキシサーバーを実行しています。サーバーの1つ(URL)が別のポートにリダイレクトする習慣があり、そのポートがファイアウォールで開かれていないため接続できません。 nginxがリダイレクトを拒否したいです。これまでに機能する次のエントリがありますが、削除する次のターゲットURLは広告ポート8443です。
クライアントは、次のコマンドを使用して443から4040にリダイレクトされます。
server {
listen 8443 ssl http2;
server_name host_name;
location / {
proxy_set_header Host $host;
proxy_pass https://internal_ip:4040/;
client_max_body_size 0;
proxy_connect_timeout 3600;
proxy_send_timeout 3600;
proxy_read_timeout 3600;
send_timeout 3600;
}
}
サーバーのURLを入力するとurl:4040にリダイレクトされ、エラー(404)が発生します。
以下は機能しますが、サーバーポート(8443)をURLに通知します。
server {
listen 8443 ssl http2;
server_name hostname;
proxy_set_header Host $host;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://internal_ip:4040/;
client_max_body_size 0;
proxy_connect_timeout 3600;
proxy_send_timeout 3600;
proxy_read_timeout 3600;
send_timeout 3600;
}
}
サーバーのURLを入力すると、url:8443にリダイレクトされ、内部サーバーが表示されます。 8443を追加せずにポートを変更したり、追加せずに単に内部IPに移動できますか?また、ブラウザに/admin URLを入力すると、最初の設定が機能し、4040へのリダイレクトがスキップされるため、最初に/adminにリダイレクトすると役に立ちますか?
私の質問が明確で、私がやりたいことが何であるかを知ってほしい。