7

例えば:

プライマリ一時ドメインが1つあります

www.product.com

クライアントごとに、同じポート(80)で、インスタンス名が異なる(.warsファイルが異なる)同じサーバーに個別のサブドメインをマップする必要があります。

www.client1.product.com
www.client2.product.com
www.clientn.product.com

(私が間違っている場合は訂正してください)私が桟橋インスタンスを開始するかどうかを知っているので、それぞれが別々のポート番号で開始します

client1 war will start at port 3001
client2 war  will start at port 3002
client3 war will start at port 3003

私の質問は、ポート80のすべてのインスタンスを適切な同一のサブドメインにマップする方法です。

アクセスした場合

www.client4.product.com、ポート3004でjettyアプリを実行する必要があります

アップデート:

私のアーキテクチャをより深く理解するために、ポート3002で実行されているclient2 jettyインスタンスが、ランタイム例外、メモリリーク、または手動再起動のためにダウン状態になった場合、他のすべてのjettyインスタンスは独立して実行されます(google appengineの背後にあるアーキテクチャと同様にjettyを使用します)

4

1 に答える 1

8

これを行うには、複数のJettyインスタンスを実行しないでください。複数のVirtualHostを使用して1つのインスタンスを実行します。これを行うには、次のように桟橋を構成できます。

  <Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <Set name="war"><SystemProperty name="jetty.home"/>/webapps/client1.war</Set>
    <Set name="contextPath">/</Set>
    <Set name="virtualHosts">
      <Array type="java.lang.String">
        <Item>www.client1.product.com</Item>      
      </Array>
    </Set>
</Configure>
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="war"><SystemProperty name="jetty.home"/>/webapps/client2.war</Set>
  <Set name="contextPath">/</Set>
  <Set name="virtualHosts">
    <Array type="java.lang.String">
      <Item>www.client2.product.com</Item>      
    </Array>
  </Set>
</Configure>

これを構成する方法の詳細については、このページを確認してください。

または、実際に複数のJettyインスタンスが必要な場合は、リバースプロキシとして機能するApacheなどの別のサーバーを前面に配置できます。次に、httpd.confを編集して、仮想ホストでApacheを設定できます。

<VirtualHost *:80>
     ServerName www.client1.product.com
     ProxyRequests off
     ProxyPass / http://someInternalHost:3001/
     ProxyPassReverse / http://someInternalHost:3001/
</VirtualHost>

<VirtualHost *:80>
     ServerName www.client2.product.com
     ProxyRequests off
     ProxyPass / http://someInternalHost:3001/
     ProxyPassReverse / http://someInternalHost:3001/
</VirtualHost>

詳細については、 apacheのドキュメントを参照してください。

于 2012-08-29T18:48:34.193 に答える