ホームページ > バックエンド開発 > PHPチュートリアル > Apache を使用して Tomcat アプリケーションを構成し、php forum-discuz を統合する

Apache を使用して Tomcat アプリケーションを構成し、php forum-discuz を統合する

WBOY
リリース: 2016-06-23 13:41:18
オリジナル
920 人が閲覧しました


最近 Web アプリケーションを開発しました。メイン Web サイトは Tomcat の Java アプリケーションに基づいており、PHP フォーラム discuz を統合する必要があります。

Tomcat アプリケーションのポートは 8101、apahce ポートは 80、Web サイトのドメイン名は www.example です。 com

xamppサーバーを使用し、Apacheとphpを直接統合してdiscuzをインストールします。


ここで、www.example.com を使用して Tomcat メイン サイトにアクセスし、www.example.com/bbs を使用して discuz フォーラムにアクセスしたいと考えています

Tomcat のポートは 8101 であるため、直接アクセスすることはできませんwww.example.com 経由でアクセスするには、Apache の VirtualHost を使用して

構成は次のとおりです:


<VirtualHost *:80>    ProxyPass /bbs !                                                                           ProxyPass / http://example.com:8101/myweb/    ProxyPassReverse / http://example.com:8101/myweb/    ProxyPassReverseCookiePath / /</VirtualHost>
ログイン後にコピー
説明

ProxyPass / http://example.com:8101/myweb/
ログイン後にコピー
は、Web サイトのルート ディレクトリにアクセスするとプロキシ アクセスが実行されることを意味し、アクセスされるアドレスは Tomcat アプリケーションのアドレスです: パスの末尾は / で終わる必要があります。そうしないと通常のアクセスは不可能になります

rrree リバース プロキシは ProxyPass との一貫性を保ちます

ProxyPassReverse / http://example.com:8101/myweb/
ログイン後にコピー

Cookie パスを構成する必要があります。構成しない場合、Web サイトのセッションが失われ、Cookie を保存できません。ここでの構成は、ルート ノードの Cookie パスが / であることを示しています (次のような他のパスとして構成することもできます)。 )

ProxyPassReverseCookiePath / /
ログイン後にコピー

ProxyPassReverseCookiePath / /myweb
ログイン後にコピー
は、/bbs ディレクトリにプロキシ アクセスがないことを意味します。これは、bbs が直接アクセスに Apache を使用することを意味します。これが設定されていない場合、アイテム、アクセス /bbs は tomcat を使用してアクセスされます

後。セットアップすると、期待どおりに正常にアクセスできます。ただし、http://www.example.com と http://example.com を介したセッションが一貫していないという問題があります。つまり、example.com を使用してログインした後、

www を使用します。 .example.com にアクセスすると、ログイン セッションが失われます。

Cookie のパスを見ると、セッションを維持する Cookie ドメインが異なっており、1 つは www.example.com で、もう 1 つは example.com であることがわかりました。情報を確認したところ、一貫性を保つために Cookie ドメインを

.example.com に設定する必要があることがわかりました。ドメイン名の前にドットが必要であり、www と http は追加しないでください。 。


ただし、メインサイトの Cookie は Tomcat によって設定されており、Apache を使用した設定は無効であるため、この場合、Apache 設定項目 ProxyPassReverseCookieDomain による設定は無効です。したがって、Tomcat 設定を変更し、conf/context.xml を変更する必要があります

ProxyPass /bbs !
ログイン後にコピー

このようにして、http://www.example.com と http://example.com を介したアクセスを維持できますセッションの一貫性

​​

この記事は、情報の調査と実践による私の個人的な経験に基づいています。間違っている点(またはより良い解決策)がある場合は、ご指摘ください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート