阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用Apache配置Tomcat应用整合PHP论坛-Discuz

155次阅读
没有评论

共计 1927 个字符,预计需要花费 5 分钟才能阅读完成。

最近搞一个 Web 应用,主站基于 Tomcat 的 Java 应用,需要整合 PHP 论坛 Discuz

Tomcat 应用端口是 8101, apahce 端口是 80,网站域名是 www.linuxidc.com

使用 xampp 服务器,直接集成 apache 和 php 安装 discuz。

现在想达到使用 www.linuxidc.com 访问的是 tomcat 主站,使用 www.linuxidc.com/bbs 访问的是 discuz 论坛

由于 tomcat 端口是 8101,不能直接通过 www.linuxidc.com 来访问,所以需要使用 apache 的 VirtualHost 来实现

配置如下:

<VirtualHost *:80>
    ProxyPass /bbs !                                                                     
    ProxyPass / http://linuxidc.com:8101/myweb/
    ProxyPassReverse / http://linuxidc.com:8101/myweb/
    ProxyPassReverseCookiePath / /
</VirtualHost>

解释

ProxyPass / http://linuxidc.com:8101/myweb/

表示访问网站根目录将进行代理访问,访问的地址是 tomcat 应用地址,需要注意的是:路径末尾必须以 / 结束,否则无法正常访问

ProxyPassReverse / http://linuxidc.com:8101/myweb/

反向代理 保持和 ProxyPass 一致

ProxyPassReverseCookiePath / /

Cookie 路径,必须配置,否则网站 session 将丢失,cookie 无法保存,此处配置表示根节点 cookie 路径为 /(也可以配置为其他如:)

ProxyPassReverseCookiePath / /myweb

ProxyPass /bbs !

表示 /bbs 目录 不进行代理访问,也就是说 bbs 使用 apache 直接访问,如果不配置该项,访问 /bbs 将会使用 tomcat 来访问

设置完以可按照预期正常访问。但是有一个问题就是,通过 http://www.linuxidc.com 和 http://linuxidc.com 会话不能保持一致,也就是说我使用 linuxidc.com 登录后,再使用

www.linuxidc.com 访问,登录会话会丢失。

查看 cookie 路径发现,保持会话的 cookie 域不一样,一个是 www.linuxidc.com,一个是 linuxidc.com。通过查资料,说要想保持一致,必须将 cookie 域设置为

.linuxidc.com, 注意域名前面必须有一个点,不要加 www 和 http。

但是通过 apache 的配置项 ProxyPassReverseCookieDomain 来设置对本案例无效,因为主站的 cookie 是 tomcat 来设置的,使用 apache 的配置无效。所以必须

修改 tomcat 配置,修改 conf/context.xml

<Context sessionCookiePath=”/” sessionCookieDomain=”.linuxidc.com”>

这样,通过 http://www.linuxidc.com 和 http://linuxidc.com 来访问就能保持会话一致了

此文是个人通过查资料以及实践的心得,有些地方说的不对(或有更好的方案)敬请指出。

Ubuntu 下 Apache 的 Rewrite 如何启用  http://www.linuxidc.com/Linux/2010-10/29027.htm

Ubuntu 14.04 中 Apache 2.2 升级到 2.4 后的几个要点 http://www.linuxidc.com/Linux/2015-01/111914.htm

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm

RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm

LAMP 源码环境搭建 WEB 服务器 Linux+Apache+MySQL+PHP http://www.linuxidc.com/Linux/2013-05/84882.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计1927字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中