2



いくつかのフォーラムで検索した後でも、私が苦労している問題を簡単に解決できるいくつかのクラックがここにあることを願っています.Glassfish v3アプリケーションサーバーをApache 2.2.x Webサーバーの背後に配置する必要があります。 、Webサーバーで実行されています(したがって、これをシャットダウンできません)。したがって、より複雑な「mod_jk」の代わりに、新しいソリューション「mod_proxy_ajp」(Apache に同梱されています) を使用して、Apache を介して Glassfish にリクエストを渡すことにしました。私がこれまでに行ったことは次のとおりです

。Apacheには、次を含む「/etc/httpd/conf.d/proxy_ajp.conf」が含まれています

  • LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
  • プロキシパス /mail !
  • ProxyPass / ajp://localhost:8080/
  • ProxyPassReverse / ajp://localhost:8080/

グラスフィッシュ:

  • http-listener-1 は、「JK リスナー」を有効にして 8080 でリッスンしています。
  • http-listener-2 は 8181 でリッスンしており、SSL 証明書を使用してセキュリティが有効になっています

しかし、私がやりたいことはこれです:

  1. 「https://webmail.mydomain.com」に対するすべてのリクエストを Apache にルーティングします (webhoster email web-frontend)
  2. 他のすべての要求 HTTP および HTTPS を Glassfish にルーティングします。8080 または 8009 の Glassfish http-listener-1 への HTTP の場合、8181 の Glassfish http-listener-2 に登録された SSL 証明書を使用する HTTPS の場合 (両方向で、これらのポートをパスおよびリバースして、ユーザーに表示しないでください) )
  3. Glassfish へのすべてのリクエストを強制的にリダイレクト/HTTPS に切り替えるか、特定のリソース (somefile.html) の web.xml セキュリティ構成に基づいて HTTP から HTTPS に強制的に切り替えます (またはこれを行う別のソリューション)。

誰かがこれら 3 つのタスクを解決するための簡単な説明を提供できれば、私は本当に嬉しく思います。
前もって感謝し、
乾杯〜limubai

4

1 に答える 1

4

それはたくさんの質問です!ユーザーが標準ポート (80 および 443) でアプリケーションにアクセスできるように、Apache を介して GlassFish をプロキシしようとしているようですが、複数のアプリケーション、複数のドメインがあり、SSL を使用したいと考えています。

さて、あなたの前にはたくさんの仕事があります!おそらく、Apache での仮想ホスティングについて調べる必要があるでしょう。具体的には、webmail.mydomain.com 用の 1 つの仮想ホストと、mydomain.com 用の別の仮想ホストです。

Web サーバーに 2 つの IP アドレス (2 つの NIC) がない場合は、名前ベースの仮想ホスティングを使用する必要があります。名前ベースの仮想ホスティングと SSL は簡単には連携しないことに注意してください。おそらく、共通名 mydomain.com と別名 webmail.mydomain.com (altSubjectName 拡張子) を持つ SSL 証明書を使用する必要があります。

Apache の設定に関する情報は、次の場所にあります。

http://httpd.apache.org/docs/2.2/vhosts/

SSL での名前ベースの仮想ホスティングの使用に関する情報は、次の場所にあります。

http://wiki.apache.org/httpd/NameBasedSSLVHosts

GlassFish の構成に関する情報は、次の場所にあります。

http://download.oracle.com/docs/cd/E18930_01/html/821-2416/gfaad.html

于 2011-09-01T16:32:48.813 に答える