web-dev-qa-db-ja.com

80以外のポートのIPを指すドメイン名を作成します

ドメイン名を使用して、ローカルサーバーのIPアドレスのWebページを指すようにします。ただし、問題は、ページが80ではなくポート8088で設定されたIPアドレスにリンクされていることです。後者は既に別のWebページで使用されているためです。ドメイン会社から、ドメインはポート80で設定されたIPアドレスしか参照できないため、できないと言われました。そのため、私はデッドロックに陥っています。どのような代替手段があり、IP:8088を指すドメインを作成するにはどうすればよいですか?

ありがとう

23
george

あなたが話したドメイン会社は、ドメインがどのように機能するかを説明するのが下手だったかもしれません。ドメイン名は特定のポートを参照しません。 IPアドレスを参照するだけです。クライアントはホスト名を検索して、クライアントが接続するIPアドレスを取得できますが、クライアントはDNSの助けを借りずにポートを把握する必要があります。ポート80はHTTPサービスの単なるデフォルトポートです。

必要に応じて、ポート8088でWebサーバーを実行できます。ポート番号は、URLに表示する必要があります。 http://somehost.example.com:8080/some/page。クライアントはこれを解析し、デフォルトのポート80ではなくポート8080に接続することを知っています。

URLにポート番号を含めたくない場合、要求はデフォルトのポート80に送られ、ポート80で実行されているWebサーバーにこれらの要求を処理させる以外に選択肢はありません。 HTTP/1.1リクエストには、クライアントが接続したいホスト名が含まれ、最近のWebサーバープログラムは通常、リクエストのホスト名に基づいて完全に異なるコンテンツセットを提供できます。必要なことを行う方法はいくつかあります。

  1. 両方のサイトを処理するようにポート80のWebサーバーを構成するだけです。これは、使用しているWebサーバーソフトウェアによって異なります。たとえば、Apacheはこれらを「仮想ホスト」と呼び、 ここに一連の例があります です。これは一般的なソリューションであり、同じサーバー上で何百ものサイトをこの方法で実行する人もいます。

  2. 計画どおりに2つのWebサーバーを実行します。ポート80のサーバーを、2番目のWebサイトの リバースプロキシ に設定します。サーバーは、現在処理しているサイトのコンテンツを引き続き提供します。 2番目のサイトの要求を受信すると、ポート8088で実行されているサーバーに要求を中継し、サーバーの応答をクライアントに中継します。

  3. ポート80の既存のサーバーを別のポートに移動します。ポート80で純粋なリバースプロキシサーバーを実行し、両方のWebサイトの要求をそれぞれのWebサーバーに中継します。

https://webmasters.stackexchange.com/ または https://serverfault.com/ にさらに質問することをお勧めします。

47
Kenster

プロキシを使用して、指定されたドメインをIP:PORTに再ルーティングできます。これを実現するには、Nginxサーバーをスピンアップしてリバースプロキシとして構成するか、設定をほとんど行わずに希望どおりに動作するこのプロジェクトを使用します https://github.com/cristianoliveira/ergo =

2