nginxプロキシ、ポートを変更する必要はありません

nginxプロキシ、ポートを変更する必要はありません

同じポート(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にリダイレクトすると役に立ちますか?

私の質問が明確で、私がやりたいことが何であるかを知ってほしい。

ベストアンサー1

おすすめ記事