目次
基本概念
ホームページ 運用・保守 Nginx nginxマルチドメイン転送を実装する方法

nginxマルチドメイン転送を実装する方法

May 13, 2023 pm 12:58 PM
nginx

基本概念

DNS

DNS は Domain Name System の略で、ドメイン ネーム システムです。 DNS はインターネット上のサービスで、一般にドメイン名サービスまたはドメイン名解決サービスと呼ばれ、主に Web サイトのドメイン名と IP アドレスを変換するサービスを提供します。

ドメイン名と IP の対応

#ドメイン名と IP アドレスは 1 対 1 で対応しますが、同じ IP に複数のドメイン名が対応する場合があります。住所。人の名前と ID 番号の関係と同様に、ID 番号よりも名前の方が覚えやすいのは明らかです。 IP アドレスは、インターネット上のユーザーのサイトを識別する数値アドレスです。覚えやすいように、サイト アドレスを表すために IP アドレスの代わりにドメイン名が使用されます。DNS は、ドメイン名を IP アドレスに解決して、1 対 1 に対応させます。 。

DNS の仕組み

インターネットでは、「権威のある」ドメイン名解決を行うために、2 つのドメイン ネーム サーバーからドメイン名が提供される必要があります。国際ドメイン名の場合、ドメイン名登録機関はInterinc、国内ドメイン名の場合、ドメイン名登録機関はCNNICとなります。すべてのドメイン名を適切に使用するには、2 つの登録機関に登録する必要があります。

たとえば、今すぐ www.baidu.com などの Web サイトにアクセスしたい場合、コンピュータはアクセスする前にこのサイトの IP アドレスを知っている必要があります。したがって、お住まいの地域の「マスター DNS」サーバーに自動的にクエリが送信されます。つまり、「www.baidu.com」の IP は何ですか?サーバー上にドメイン名の記録がない場合は、上位レベルの DNS に移動して検索を繰り返し、最終レベルでも見つからない場合は見つかります。このとき、権威DNSを検索し、対応するIP情報をコンピュータに返します。お使いのコンピュータは、www.baidu.com に対応するサーバーと通信できます。このようなレベルごとのクエリは「再帰的」クエリと呼ばれます。

hosts ファイル

hosts ファイルは接尾辞のないローカル システム ファイルであり、その内容を変更するには管理者権限が必要です。上記の DNS 解決プロセスからわかるように、実際の IP アドレスが最終的に取得される前に、各 DNS 解決が多くの DNS サーバーによって転送される可能性があり、これは非常に非効率的です。したがって、コンピュータ上にローカルに DNS 解決ファイル、つまり hosts ファイルも存在します。ホスト内の www.baidu.com が正しい Baidu サーバー アドレスを指すようにすると、コンピューターは正しいサーバーと通信します。ローカル ホストにマッピング関係が設定されていない場合は、LAN 上の DNS サーバーにアクセスして、対応するマッピング関係を検索します。それでも存在しない場合は、ローカルの対応するノードの DNS で検索し、上記の手順を繰り返します。

nginx reverse proxy

プロキシ: 実際には仲介です。A と B を直接接続することもできましたが、A と B の間に C が追加されました。フォワード プロキシ

は上記の DNS で、クライアントのプロキシとして機能し、クライアントのリクエストを送受信し、サーバーに対して透過的です。ブラウザを使用して http://www.google.com にアクセスすると、容赦なくブロックされます。そのため、海外にプロキシ サーバーをセットアップし、そのプロキシに google.com のリクエストを手伝ってもらうことができます。プロキシは対応する構造を返します。リクエストによって返されました。渡してください。

nginxマルチドメイン転送を実装する方法

リバース プロキシ

は nginx の機能です。サーバーのプロキシとして機能します。サーバーへのリクエストを転送し、クライアントに対して透過的です。 。 www.baidu.com をリクエストするときは、10086 にダイヤルするようなものです。舞台裏で何千ものサーバーがサービスを提供している可能性がありますが、それがどれであるかはわかりませんし、知る必要もありません。リバース プロキシ サーバーが誰であるかが重要です。www.baidu.com は私たちのリバース プロキシ サーバーです。リバース プロキシ サーバーは、リクエストを実際のサーバーに転送するのに役立ちます。 Nginx は、負荷分散に使用される、非常に優れたパフォーマンスを備えたリバース プロキシ サーバーです。

nginxマルチドメイン転送を実装する方法

#nginx は複数のドメイン名のマッピングを行うためにホストを追加します

たとえば、2 つのアプリケーションのドメイン名は a.test です。 .com および b.test.com。

C:WindowsSystem32driversetc ディレクトリで hosts ファイルを見つけ、スーパー管理者権限で開きます。ファイルの最後に

a.test.com 127.0.0.1
b.test.com 127.0.0.1
ログイン後にコピー

を追加し、nginx.conf ファイルを変更し (nginx.conf には多くの設定があるため、ここでは最も単純な例を示します)、http の {} 内にサーバーを追加します。次の内容を追加します:

server {
  listen 80;
  server_name a.test.com;   //填入自己项目对应的域名
  charset utf-8;
  error_log logs/error.log;
  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://127.0.0.1:8888; //填入自己项目的ip加端口号(此处的项目没有工程上下文,只有端口号)
  }
}

server {
  listen 80;
  server_name b.test.com;   //填入自己项目对应的域名
  charset utf-8;
  error_log logs/error.log;
  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://127.0.0.1:8889; //填入自己项目的ip加端口号(此处的项目没有工程上下文,只有端口号)
  }
}
ログイン後にコピー

変更後、nginx 設定ファイルをリロードします

nginx.exe -s reload
ログイン後にコピー

以上がnginxマルチドメイン転送を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Nginxが起動されているかどうかを確認する方法は? Nginxが起動されているかどうかを確認する方法は? Apr 14, 2025 pm 12:48 PM

Linuxでは、次のコマンドを使用して、nginxが起動されるかどうかを確認します。SystemCTLステータスNGINXコマンド出力に基づいて、「アクティブ:アクティブ(実行)」が表示された場合、NGINXが開始されます。 「アクティブ:非アクティブ(dead)」が表示されると、nginxが停止します。

Windowsでnginxを構成する方法 Windowsでnginxを構成する方法 Apr 14, 2025 pm 12:57 PM

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

Nginxが開始されるかどうかを確認する方法 Nginxが開始されるかどうかを確認する方法 Apr 14, 2025 pm 01:03 PM

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

Linuxでnginxを開始する方法 Linuxでnginxを開始する方法 Apr 14, 2025 pm 12:51 PM

Linuxでnginxを開始する手順:nginxがインストールされているかどうかを確認します。 systemctlを使用して、nginxを開始してnginxサービスを開始します。 SystemCTLを使用して、NGINXがシステムスタートアップでNGINXの自動起動を有効にすることができます。 SystemCTLステータスNGINXを使用して、スタートアップが成功していることを確認します。 Webブラウザのhttp:// localhostにアクセスして、デフォルトのウェルカムページを表示します。

nginx403を解く方法 nginx403を解く方法 Apr 14, 2025 am 10:33 AM

Nginx 403禁止エラーを修正する方法は?ファイルまたはディレクトリの許可を確認します。 2。HTACCESSファイルを確認します。 3. nginx構成ファイルを確認します。 4。nginxを再起動します。他の考えられる原因には、ファイアウォールルール、Selinux設定、またはアプリケーションの問題が含まれます。

nginx304エラーを解く方法 nginx304エラーを解く方法 Apr 14, 2025 pm 12:45 PM

質問への回答:304変更されていないエラーは、ブラウザがクライアントリクエストの最新リソースバージョンをキャッシュしたことを示しています。解決策:1。ブラウザのキャッシュをクリアします。 2.ブラウザキャッシュを無効にします。 3.クライアントキャッシュを許可するようにnginxを構成します。 4.ファイル許可を確認します。 5.ファイルハッシュを確認します。 6. CDNまたは逆プロキシキャッシュを無効にします。 7。nginxを再起動します。

nginxサーバーを開始する方法 nginxサーバーを開始する方法 Apr 14, 2025 pm 12:27 PM

NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

nginx403エラーを解く方法 nginx403エラーを解く方法 Apr 14, 2025 pm 12:54 PM

サーバーには、要求されたリソースにアクセスする許可がなく、NGINX 403エラーが発生します。ソリューションには以下が含まれます。ファイル許可を確認します。 .htaccess構成を確認してください。 nginx構成を確認してください。 SELINUXアクセス許可を構成します。ファイアウォールルールを確認してください。ブラウザの問題、サーバーの障害、その他の可能なエラーなど、他の原因をトラブルシューティングします。

See all articles