Nginx 外部ネットワーク アクセス イントラネット サイト構成操作

Nginx 外部ネットワーク アクセス イントラネット サイト構成操作

背景:

サイトはフロントエンドとバックエンドから分離されています: vue+springboot

フロントエンド イントラネット アドレス: 192.168.1.10:81

API イントラネット アドレス: 192.168.1.12:8080

外部ドメイン名: abc.ab.com 外部 IP: 10.114.XX

必要:

サイトと静的リソースにはドメイン名を通じてアクセスでき、APIリクエストデータにもアクセスできます。

ソリューション 1: (前提条件: 外部ドメイン名マッピング サーバーの外部 IP)

1. nginxはドメイン名の監視を設定し、静的リソースにアクセスします

2.ここがポイントです! ! !静的リソース要求 API のアドレスが 192.168.1.12:8080 からドメイン名アクセス方式 (abc.ab.com:8080) に変更されました。

nginxを再起動する

その他の解決策は、ブロガーが検証した後に投稿されます。 !

補足知識: nginx を使用してリバース プロキシを実装し、内部ネットワーク サービスへの外部ネットワーク アクセスを実現する

環境背景、サーバーはUbuntuです:

パブリック IP アドレスが 61.174.×.× で、パブリック ネットワークとイントラネットに接続できるサーバー A。別のイントラネット サーバー B には Jenkins サービスがインストールされており、イントラネット IP アドレスは 192.168.3.12 です。

手順:

Aにnginxをインストールする

sudo apt-get でnginxをインストールします

インストール後、/etc/nginx/sites-enabled ディレクトリに移動し、ディレクトリ内のファイルを開いて、デフォルトのポート番号を 8085 に変更します。

次に、/etc/nginx/conf.d ディレクトリに移動し、新しいファイル jenkins.conf を作成します。ファイルの内容は次のとおりです。

サーバ{
聞く 8085;
サーバー名 61.174.171.61;
 
位置 /{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header ホスト $http_host;
proxy_set_header X-Nginx-Proxy が true の場合;
プロキシパス http://192.168.3.12:8080;
proxy_redirect オフ;
}

次に実行する

nginx を -t で実行します。

sudo nginx -s リロード

エラーが発生した場合:

nginx: [エラー] "/run/nginx.pid" 内の PID 番号 "" が無効です

次に実行する

nginx を /etc/nginx/nginx.conf にコピーします。

次に、パブリック インターネット上の 61.174.171.61:8085 にアクセスして、イントラネット上の Jenkins サービスにアクセスします。

上記のnginx外部ネットワークアクセスイントラネットサイト構成操作は、エディターがあなたと共有するすべてのコンテンツです。参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Nginx ポートマッピングの設定方法
  • リバースプロキシ設定を実装するためのユニバーサルnginxインターフェース
  • nginxリバースプロキシのマルチポートマッピングの実装

<<:  mysql MDLメタデータロックの詳細な分析

>>:  ElementuiはデータをxlsxとExcelテーブルにエクスポートします

推薦する

Linux で開いているファイルが多すぎる問題を解決する方法

原因は、プロセスが特定の時点でシステム制限を超える数のファイルと通信リンクを開くことです。 システム...

Vueはボタン切り替え画像を実装します

この記事では、ボタン切り替え画像を実現するためのVueの具体的なコードを例として紹介します。具体的な...

ホバードロップダウンメニューを実装するためのネイティブJS

JS はホバー ドロップダウン メニューを実装します。これは、フロントエンドの面接で遭遇するシナリ...

Homebrewを使用してMacにMySQLをインストールするときにログインできない問題を解決する

お使いのコンピュータが Mac の場合、homebrew を使用して MySQL をインストールする...

HTML マーキータグの使用例

このタグはHTML3.2の一部ではなく、MSIE3以降のカーネルのみをサポートしています。そのため、...

WeChatアプレットがシンプルな計算機機能を実装

WeChatアプレット:シンプルな計算機、参考までに、具体的な内容は次のとおりです。ミニプログラムに...

JavaScript プリミティブデータ型シンボルの詳細な説明

目次導入説明名前の競合私有財産要約する導入シンボル変数を作成する最も簡単な方法は、Symbol() ...

MySql における無効な Null セグメント判定と IFNULL() 失敗の解決策

MySql Nullフィールド判定とIFNULL失敗処理ps: (プロセスを表示したくない場合は、S...

CSS3 のメディアクエリと rem レイアウトを組み合わせてモバイル画面に適応

CSS3 構文: (750 ピクセルのデザインの場合、1rem = 100 ピクセル) @media...

Vue3 (V) HTTPライブラリaxiosの統合の詳細

目次1. axiosをインストールする2. アクシオスの使用1.ホームページでaxiosを参照する2...

MySQL データベースで機密データの暗号化と復号化を実装する方法

目次1. 準備2. MySQL暗号化関数方式2.1 MySQL 暗号化2.2 MYSQL 復号化3....

Docker のタイムゾーンの問題とデータ移行の問題

最新のソリューション: -v /usr/share/zoneinfo/Asia/Shanghai:/...

Docker コンテナにデプロイされた Django のタイムゾーンの問題

目次Django でのタイムゾーン設定USE_TZ=真USE_TZ=偽Linux コンテナでのタイム...

webpackが静的リソースキャッシュを実装する方法

目次導入複数の異なるハッシュを区別するハッシュチャンクハッシュコンテンツハッシュjs キャッシュの実...

MySQL無料インストール版のパスワードの設定と変更に関するチュートリアル

ステップ 1: 環境変数を構成する (解凍パス: G:\mysql\mysql-5.7.21-win...