環境:窓+ apache2.2 + php5.4 + tomcat7
問題の説明:二つのプロジェクト、PHPで開発されたウェブサイト、サーバー上の業務システムのJava開発を実行します。ドメイン名のみ、パブリックネットワークポート80。達成するために必要:1、PHPのWebサイトへのドメイン名への直接アクセス(例:のhttp://www.a.com)、2、(例えばhttp://www.a.com/javaなど)の業務システムへのドメイン名+ Javaサブディレクトリへのアクセス。
アイデア:リバースプロキシTomcatの設定のapache +(apacheの設定はhttpd.confファイル、Tomcatのserver.xmlに)
設定手順:
図1に示すように、リリースのhttpd.conf活性化モジュール(モジュール#前に除去)
メインモジュールを約含まれてい
mod_proxy.so
mod_proxy_ajp.so
mod_proxy_balancer.so
mod_proxy_connect.so
mod_proxy_http.so
8080でのJavaのJavaのすべての80点、最後にプロキシ設定ファイルのhttpd.confを追加します(ポート8080 Tomcatの)
ProxyRequestsをオフ
ProxyPass / javaのにhttp:// localhost:8080 / javaの
にProxyPassReverse / javaのにhttp:// localhost:8080 / javaの
2、Tomcatのserver.xmlファイルの構成(赤いフォント部を追加します)
ポート8443上の1つのコネクタは、 このコネクタは、JSSEを必要とBIO実装使用する スタイルの設定を。4月/ネイティブ実装を使用する場合は、
4月/ネイティブで説明したようにOpenSSLスタイルの設定が必要とされる
ドキュメント- >
<! -
<コネクタポート= "8443"プロトコル= "org.apache.coyote.http11.Http11Protocol"
maxThreadsの= "150" SSLEnabled = "true"をスキーム= "https"を確保= "true"を
CLIENTAUTH = "false"をsslProtocol = "TLS" />
- >
<! -ポート8009上のAJP 1.3コネクタを定義します- >
<コネクタポート= "8009"プロトコル= "AJP / 1.3"にredirectPort = "8443" />
<! -アンエンジンが処理し(カタリナ内)のエントリポイントを表す
すべての要求を。Tomcatはスタンドアロン用エンジンの実装では、
要求に含まれているHTTPヘッダを解析して、それらを渡し
、適切なホスト(仮想ホスト)に上。
/docs/config/engine.htmlのドキュメント- >
<! -あなたがサポートのロードバランシングを介したAJPすなわちへのjvmRouteを設定する必要があります
。<エンジン名= "カタリナ"のdefaultHost = "localhost"をのjvmRoute = "JVM1">
- >
<エンジン名= "カタリナ"のdefaultHost = "localhost"を>
< -クラスタリングについては、次のドキュメントを見てみてください!
/docs/cluster-howto.html(簡単な方法)
/docs/config/cluster.html(参考資料) - >
<! -
<クラスタのクラス名= "org.apache.catalina.ha.tcp.SimpleTcpCluster" />
- >
<! -使用LockOutRealmは、ユーザーのパスワードを推測しようとする試みを防止するために
ブルートフォース攻撃を経由しての- >
<レルムクラス名=「org.apache.catalina.realm.LockOutRealmは」>
<! -このレルムは、で設定でユーザデータベースを使用していますグローバルJNDI
キー「でユーザデータベース」の下のリソース。任意の編集
このでユーザデータベースに対して実行されてすぐにある
レルムで使用できます。- >
<レルムクラス名= "org.apache.catalina.realm.UserDatabaseRealm"
resourceNameは= "でユーザデータベース" />
</レルム>
<ホスト名= "localhost"をのappBase = "webappsに"
unpackWARs = "true"を自動デプロイ= "真">
<コンテキストパス= "/ javaの"文書ベース= "C:/プログラムファイル/ Apache Software Foundationの/ Tomcatの7.0 / webappsに/ ROOT "デバッグ=" 0"特権= "真" />
< -でSingleSignOnバルブ、Webアプリケーションの間で共有する認証!
でのドキュメント:/docs/config/valve.html - >
<! -
<バルブクラス名= "ORG。 apache.catalina.authenticator.SingleSignOn」/>
- >
<! -アクセスログには、すべての例を処理します。
/docs/config/valve.html:でドキュメント
注:使用パターンは、パターン=「共通」を使用するのと同じです- >
<バルブクラス名=「org.apache.catalina.valves.AccessLogValve」ディレクトリ=「ログ」
接頭辞= "localhost_access_log。" サフィックス= "TXT"
パターン= "%の時間%の1%U%T&QUOT;%のR&QUOT;%S%Bの" />
</ホスト>
</エンジン>