IPツールを取得 lombok.extern.slf4j.Slf4j をインポートします。 org.apache.commons.lang3.StringUtils をインポートします。 javax.servlet.http.HttpServletRequest をインポートします。 /** * IPアドレス * * @日付 2020年3月6日 午後12時57分02秒 */ 翻訳者 パブリッククラス IPUtils { /** * IPアドレスを取得 * * Nginx などのリバース プロキシ ソフトウェアを使用している場合、request.getRemoteAddr() で IP アドレスを取得することはできません。* 複数のレベルのリバース プロキシを使用している場合、X-Forwarded-For の値は 1 つではなく、IP アドレスの文字列になります。X-Forwarded-For で不明ではない最初の有効な IP 文字列が実際の IP アドレスです。*/ パブリック静的文字列 getIpAddr(HttpServletRequest リクエスト) { 文字列 ip = null; 試す { ip = リクエスト.getHeader("x-forwarded-for"); if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("プロキシクライアントIP"); } if (StringUtils.isEmpty(ip) || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = リクエスト.getHeader("HTTP_CLIENT_IP"); } if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = リクエスト.getHeader("HTTP_X_FORWARDED_FOR"); } if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = リクエスト.getRemoteAddr(); } } キャッチ (例外 e) { log.error("IPUtils エラー ", e); } //プロキシを使用して最初のIPアドレスを取得します if(StringUtils.isEmpty(ip) && ip.length() > 15) { ip.indexOf(",") > 0 の場合 ip = ip.substring(0, ip.indexOf(",")); } } IP を返します。 } } nginxを使用する場合、取得するIPは127.0.0.1になります。 プロキシに次の構成を追加します: proxy_set_header x-forwarded-for $remote_addr; サーバー{ 聞く 80; サーバー名 api.qimen.pro; # サーバーファイルアップロードサイズ制限 client_max_body_size 10M; 位置 / { proxy_pass http://gymserver; proxy_set_header x-forwarded-for $remote_addr; } } nginx を使用して 127.0.0.1 の IP アドレスを取得する問題を解決するこの記事はこれで終わりです。nginx で IP アドレスを取得する問題の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: マインドマップを使って4つの側面からWeb標準の価値を議論する
ステップ1: MySQLドライバをダウンロードするcmdは作成されたDjangoプロジェクトディレク...
Dockerの概要Docker はオープンソースのソフトウェア展開ソリューションです。 Docker...
react-native インストールプロセス1.npx react-native init Awe...
目次序文質問オンラインソリューション序文この記事の内容は私がこの業界に入ったときのメモを元にしている...
目次序文範囲1. スコープとは何ですか? 2. [[スコープ]] プロパティ3. スコープチェーン4...
問題/障害/シナリオ/要件Eve-ng の仮想マシン OVA のハードディスクは 38G しかないた...
目次1. インストールパッケージ(64ビット)をダウンロードする2. MySQLデータベースをインス...
フレーム:スタイル=”border-style:solid;border-width:5px;bor...
次の背景画像を持つ div があるとします。 次の反射効果を作成します。 方法はたくさんありますが、...
親ディレクトリを指定する方法../ はソース ファイルの親ディレクトリを表し、../../ はソース...
MySQLは次のエラーを表示します「コントロール パネル -> 管理ツール -> サービ...
水平方向では、セルの配置を左、中央、右に設定できます。基本的な構文<TD ALIGN=&quo...
textarea 入力領域でテキストを折り返す場合は、<br/> と入力すると <...
目次序文1. リクエスト内容が大きすぎる解決: CDN の紹介リクエストリソースを圧縮する1. HT...
目次JavaScript のインポート1. 内部ラベル2. 外部紹介基本的な構文データ型番号弦ブール...