シナリオ 1: サーバーの制限により、外部に開かれているポートは 1 つだけですが、別の外部ネットワーク環境を要求する必要があるため、トランジット サーバーで nginx を使用してデータを転送します。 成し遂げる: サーバー{ 聞く 8051; server_name ローカルホスト; 場所 /ライセンス/ { プロキシパス http://xxx.xxx.xxx.xxx:8058/; } 位置 / { proxy_pass http://xxx.xxx.xxx.xxx:8051/; } } 特記事項: 注: ここでファイルアップロード転送が関係する場合は、server_name の下に client_max_body_size 100m を追加します。 ドメイン名転送アドレスproxy_passの後に「/」を付ける必要があります。そうしないと、異常な転送が発生します。 nginx で proxy_pass プロキシ転送を設定するときに、proxy_pass の後の URL に / を追加すると、絶対ルート パスを意味します。 次の 4 つの状況にそれぞれ http://192.168.1.1/proxy/aerchi.html を使用してアクセスすると仮定します。 最初のもの:
URL へのプロキシ: http://127.0.0.1/aerchi.html 2 番目のタイプ (最初のタイプと比較して、末尾の / が 1 つ少ない)
URL へのプロキシ: http://127.0.0.1/proxy/aerchi.html 3番目のタイプ:
URL へのプロキシ: http://127.0.0.1/aaa/aerchi.html 4 番目のタイプ (3 番目のタイプと比較して、末尾の / が 1 つ少ない)
URL へのプロキシ: http://127.0.0.1/aaaaerchi.html シナリオ2: ビジネス上のニーズにより、フロントエンドコードのセットを2つのバックエンドアドレスにマッピングする必要があるため、インターフェース上で区別して転送する必要があり、転送中に識別マークを削除する必要があります。 成し遂げる: サーバー{ 0.0.0.0:8204 をリッスンします。 server_name ローカルホスト; #静的ページ ディレクトリ ルート E:\xxxxxxx; #デフォルトのホームページインデックス /index.html; proxy_set_header ホスト $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #プロキシクッキーパス /* /*; クライアントの最大ボディサイズは100mです。 location ~*/wx/(.*) {#インターフェースに/wx/#が含まれているかどうかに基づいて動的ページを区別し、処理のためにTomcatに渡します。if (!-e $request_filename) { proxy_pass http://127.0.0.1:8091/$1;#バックエンドに行くときは、/wxを削除する必要があります} } 位置 / { # ユーザーブラウザのキャッシュ設定の場所 ~* \.(css|js|jpg|jpeg|gif|png|swf|htm|html|json|xml|svg|woff|ttf|eot|map|ico)$ { 有効期限 -1; if (-f $リクエストファイル名) { 壊す; } } # 動的ページ。処理のためにTomcatに渡されます。if (!-e $request_filename) { プロキシパス http://127.0.0.1:8092; #プロキシクッキーパス /* /*; } } エラーページ 500 502 503 504 /50x.html; 場所 = /50x.html { ルートhtml; } } 特記事項: 1. proxy_set_header ホスト $http_host; リクエスト ヘッダーは変更されません。 2. proxy_set_header ホスト ホスト。クライアント要求ヘッダーにこのヘッダーが含まれていない場合、バックエンド サーバーに渡される要求にはこのヘッダーが含まれません。この場合、ホストが使用されます。クライアント要求ヘッダーにこのヘッダーが含まれていない場合、バックエンド サーバーに渡される要求にもこのヘッダーは含まれません。 この場合、ホストが使用されます。クライアント要求ヘッダーにこのヘッダーが含まれていない場合、バックエンド サーバーに渡される要求にもこのヘッダーは含まれません。この場合、ホスト変数が使用されます。その値は、リクエストに「Host」リクエスト ヘッダーが含まれている場合は「Host」フィールドの値であり、リクエストに「Host」リクエスト ヘッダーが含まれていない場合は仮想ホストのプライマリ ドメイン名です。 3. proxy_set_header ホスト ホスト: host:host:proxy_port; サーバー名は、バックエンド サーバーのポートとともに渡すことができます。 4. リクエスト ヘッダーの値が空の場合、リクエスト ヘッダーはバックエンド サーバーに送信されません。 proxy_set_header Accept-Encoding ""; 5. ユーザーの実際のIPアドレスがバックエンドサーバーに転送されます。
シナリオ3: 前のコードはVueで実装されています。Vueは特定のページを持たず、/xx/xxを通じてリソースにアクセスします。このとき、バックグラウンドインターフェースと区別する必要があります。 成し遂げる: これらは「#」などの特殊文字で区別できます。# を含むリクエストは、デフォルトでは静的リソースです。 場所 ~* \.(#|css|js|jpg|jpeg|gif|png|swf|htm|html|json|xml|svg|woff|ttf|eot|map|ico)$ { 有効期限 -1; if (-f $リクエストファイル名) { 壊す; } } シナリオ4: サーバーの制限により、データベースアクセスにはnginx転送が必要 成し遂げる: ストリーム { アップストリームクラウドソケット ハッシュ $remote_addr は一貫しています。 サーバー データベースの実際の IP:3306 weight=5 max_fails=3 fail_timeout=30 秒; } サーバー{ listen 127.0.0.1:8058; #ローカルプロキシポート proxy_connect_timeout 10s; proxy_timeout 300s;#クライアントとプロキシサービス間のタイムアウトを設定します。5分以内に操作がない場合、自動的に切断されます。 proxy_pass クラウドソケット; } } 特別な注意: ストリームはhttpと同じレベルなので、httpに入れないでください。 シナリオ5: ドメイン名にアクセスするときに、別のアドレスにリダイレクトする必要がある 成し遂げる: サーバー{ 7000を聴く; server_name ローカルホスト; クライアントの最大ボディサイズは100mです。 場所 = / { ^(.*) https://www.baidu.com を永久に書き換えます。 } } 特別な注意:
以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Web面接におけるJS事前解析と変数プロモーションの違い
>>: ノードをMySQLデータベースに接続する際に発生する問題と解決策
目次コンセプト配列の分割値を個別に宣言して割り当てるデフォルト値の構造化解除変数値の交換関数によって...
序文Docker はコンテナの環境変数を設定できます。設定方法は 2 つあります。イメージを作成する...
目次基本的な手順と使用方法行コンポーネントの分析レンダリング機能ソースコード分析Col成分の分析コン...
効果プレビューアイデア現在のリストを最後の項目までスクロールし、すぐに最初の項目に戻ります。問題1....
目次1. 古いバージョンを削除する2. サーバーのカーネルタイプを確認し、適切なバージョンをダウンロ...
目次序文インストールと設定1. Echartsをインストールする2. Echartsをグローバルに導...
<!--[lte IE 6の場合]> <![endif]--> IE6以下で...
この記事では、vue+echart を使って二重列チャートを実現するための具体的なコードを参考までに...
日常の開発タスクでは、データ テーブル内のグループ化フィールドに基づいて統計データを取得するために、...
昨日はデータベースへの接続に問題はありませんでしたが、今日はデータベースへの接続時にこのエラーが報告...
この記事では、MySQL の ROUND 関数を使用した丸め操作の落とし穴を例を使って説明します。ご...
1. MySQL Community Server 5.7.16をダウンロードしてインストールします...
最近、Docker イメージのプルが非常に不安定です。遅く、タイムアウトすることがよくあります。 x...
1eChartsの基本手順4つのステップ1 DOMコンテナを見つける2 初期化3 設定オプション4 ...
この記事では、MySQL クラスター化インデックスのページ分割を例を使って説明します。ご参考までに、...