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テーブルにエクスポートします

推薦する

JavaScript で円形カルーセルを実装する

この記事では、円形カルーセルを実装するためのJavaScriptの具体的なコードを参考までに紹介しま...

React.cloneElement の使い方の詳しい説明

目次cloneElementの役割使用シナリオ新しい小道具を追加するプロップを変更するイベントカスタ...

MySQL データベース インデックスが B+ ツリーの使用を選択するのはなぜですか?

MySQL データベース インデックスが B+ ツリーを使用する理由をさらに分析する前に、データ構...

JS 日付コントロール My97DatePicker の基本的な使い方

My97DatePicker は非常に柔軟で使いやすい日付コントロールです。使い方はとても簡単です。...

Vue の双方向イベントバインディング v-model の原理についての簡単な説明

目次説明する:要約する補充するDOM を直接変更して操作する js や jQuery とは異なり、V...

Swiper+echartsは複数のダッシュボードの左右スクロール効果を実現します

この記事では、ダッシュボードの左右スクロール効果を実現するためのスワイパー+echartsの具体的な...

設定ファイルを書いてMyBatisを簡単に使う方法

設定ファイルを書いてMyBatisを簡単に使う方法マイバティス3.xここでは MyBatis につい...

CSS 読み込み効果の実装 パックマン

えーっと、名前はただの推測です 2333序文これは練習用の CSS デモです。何か間違っている点があ...

同期スクロールを実現するための複数のテーブル要素のサンプルコード

Element UIは、複数のテーブルを同時に水平および垂直にスクロールすることを実装します。 コー...

Linux環境にRedisをデプロイし、Dockerにインストールする方法

インストール手順1. Redisをインストールするdocker search redis和docke...

Linux環境にJDK1.8をインストールする

目次1. インストール環境2. インストール手順ステップ1: インストールパッケージをダウンロードす...

JS ベースのページフローティングボックスを実装するためのサンプルコード

スクロール バーを下に引くと、主にposition:fixed;スタイルにより、フローティング ボッ...

「MySQL サービスを開始できません エラー 1069」を解決する方法

今日、外出中に同僚から、ウェブサイトのバックエンドにアクセスできないというメッセージが届きました。と...

Linux スケジュールタスクの関連操作の概要

皆様の参考と操作を容易にするために、様々な主要ウェブサイトを検索し、関連するスケジュールされたタスク...

Vue v-model 関連の知識のまとめ

​v-model は、入力とフォーム データ間、または 2 つのコンポーネント間の双方向データ バイ...