序文 今日、nginx で非常に奇妙な問題に遭遇しました。フロントエンドの tomcat がページにジャンプすると、アップストリーム アドレスにジャンプして直接 404 を報告しましたが、一部のページ アクセスは正常でした。 イントラネットIPを直接使用してアクセスが正常に行われる場合は、nginxに問題があると判断できます。nginxの設定は次のとおりです。 アップストリームTomcat { サーバー 192.168.11.172:8061; サーバー 192.168.11.172:8062; ip_ハッシュ; } サーバー{ 8060を聴く; サーバー名 www.example.com; 位置 / { proxy_pass http://tomcat; proxy_set_header ホスト $host:8060; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; インデックス index.html index.htm; } } 調査の結果、バックエンドの Java コードでこのアドレスがリダイレクトされ、request.getServerPort() が使用されていたことが判明しました。nginx 経由でリダイレクトされた場合、正しいフロントエンド ポートを取得できず、デフォルトの戻り値は 80 のままでした。nginx のデフォルトのリスニング ポートが 80 でない場合、response.sendRedirect は正しいアドレスにジャンプできません。 response.sendRedirect(getBasePath(request) + "account/index"); プライベート文字列 getBasePath(HttpServletRequest リクエスト) { 文字列パス = request.getContextPath(); 文字列 basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + パス + "/"; basePath を返します。 } 解決策は、nginx設定ファイルproxy_set_headerにポート番号を追加することです。 proxy_set_header ホスト $host:$proxy_port; 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Vue 円形パーセンテージ プログレスバー コンポーネントの機能の実装
>>: MySQL での大規模トランザクションによって発生する挿入の遅延ケースの分析
この記事では、時間範囲効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します...
Vue3.0 がリリースされてからしばらく経ちましたが、勉強を始める必要があります。まず、達成したい...
jQueryプラグインは、参考のためにダッシュボードを実装します。具体的な内容は次のとおりです。一般...
Ubuntu 20.04 では、デフォルトで root ログインが有効になっていないため、デスクトッ...
操作効果コードの実装html <div id="ウォッチ"> <...
目次例方法1: 削除方法2: 分解補充する要約するThinking シリーズは、10 分で実用的なプ...
目次1. 複数の .catch 2. 複数の .catch 3. .then と .catch の連...
目次1. カスタム指示とは何ですか? 2. 指示をカスタマイズする方法フック機能3. 応用シナリオ入...
環境Linux 3.10.0-693.el7.x86_64 Docker バージョン 18.09.0...
この記事の例では、コンテンツの計算を実現するためのjsドラッグアンドドロップテーブルの具体的なコード...
Windowsオペレーティングシステムでは、ポートの占有状況を照会し、ポートの占有状況をクリアするプ...
<br />多くの中小企業ではこの問題は発生しません。中小企業はデザイナーをサポートし、...
そこで、この問題を解決するために埋め込みフレームワークを導入します。具体的な原則は、フォームがデータ...
mysqlはbinlogログを正しくクリーンアップします序文: MySQL の binlog はデー...
<p><b>これは太字フォントです</b></p> ...