web-dev-qa-db-ja.com

DNSエイリアスをホスト名:ポートに転送する方法?

可能性のある複製:
DNSを使用してドメインをサーバー上の特定のポートにリダイレクトする方法

私のWebアプリケーションはmyserver.mydomain:10000で実行しています。イントラネットでmywebapp.mydomainとして使用できるようにしたいのですが。

別のIP /ポートへの転送ポート を読んで、私はrinetdを調べましたが、どうすれば自分の目標を達成できるのか完全に理解できません。

  1. ネームサーバーにcnameエイリアスmywebapp-> myserverを作成します
  2. myserverでrinetdを実行し、ポート80を10000にリダイレクトします?!?

allhttpトラフィックをリダイレクトします。

理解にギャップがあるようです。誰か助けてもらえますか?

12
ssc

別のIPを作成したくない場合は、リバースhttpプロキシをメインIPにインストールし、名前ベースの仮想ホストでmod_proxyを使用してトラフィックをルーティングするだけです。

ここでは、Apacheでそれを行う方法を示します。ほとんどすべてのhttpサーバーで実行できます。他の一般的な代替手段は、squid、nginx、lighthttpdなどです。


    Listen IP_ADDR:80
    NameVirtualHost IP_ADDR:80

    <VirtualHost IP_ADDR:80>
      ServerName  yourname.yourdomain

      ProxyPass        / http://localhost:10000/
      ProxyPassReverse / http://localhost:10000/

    </VirtualHost>
16

DNSはホスト名をIPアドレスにマッピングするだけで、ポートについては何も認識せず、何もできません。

必要な解決策は、NAT router/firewallを使用して、パブリックIPのポート80を内部サーバーのIPのポート10000に転送することです。

7
Massimo

そのようにリダイレクトされるサイトが1つだけ必要で、ポート80で他のサイトをすでに実行していると思いますか?そうで、かつHTTPS(SSL)を使用していない場合は、前述のようにこのドメインを処理するようにApacheを設定するか、Apacheにポート10000に転送するように指示することができます。

私はあなたが使用しているサーバーのOSやhttpサーバーを知っています...それ以上は助けられません。

0
Michael Graff