最近搞一个web应用,主站基于tomcat的java应用,需要整合php论坛discuz
tomcat应用端口是8101, apahce端口是80,网站域名是www.example.com
使用xampp服务器,直接集成apache和php安装discuz。
现在想达到使用www.example.com访问的是tomcat主站,使用www.example.com/bbs访问的是discuz论坛
由于tomcat端口是8101,不能直接通过www.example.com来访问,所以需要使用apache的VirtualHost来实现
配置如下:
<virtualhost> ProxyPass /bbs ! ProxyPass / http://example.com:8101/myweb/ ProxyPassReverse / http://example.com:8101/myweb/ ProxyPassReverseCookiePath / /</virtualhost>
解释
ProxyPass / http://example.com:8101/myweb/表示访问网站根目录将进行代理访问,访问的地址是tomcat应用地址 ,需要注意的是: 路径末尾必须以 / 结束,否则无法正常访问
ProxyPassReverse / http://example.com:8101/myweb/反向代理 保持和ProxyPass一致
ProxyPassReverseCookiePath / /
Cookie路径,必须配置,否则网站session将丢失,cookie无法保存,此处配置表示根节点cookie路径为/(也可以配置为其他如:)
ProxyPassReverseCookiePath / /myweb
ProxyPass /bbs !表示 /bbs 目录 不进行代理访问,也就是说 bbs使用apache直接访问,如果不配置该项,访问/bbs将会使用tomcat来访问
设置完以可按照预期正常访问。但是有一个问题就是,通过http://www.example.com 和 http://example.com会话不能保持一致,也就是说我使用example.com登录后,再使用
www.example.com访问,登录会话会丢失。
查看cookie路径发现,保持会话的cookie域不一样,一个是www.example.com,一个是example.com。通过查资料,说要想保持一致,必须将cookie域设置为
.example.com,注意域名前面必须有一个点,不要加www和http。
但是通过apache的配置项ProxyPassReverseCookieDomain来设置对本案例无效,因为主站的cookie是tomcat来设置的,使用apache的配置无效。所以必须
修改tomcat配置,修改conf/context.xml
<context sessioncookiepath="/" sessioncookiedomain=".example.com"></context>
这样,通过http://www.example.com 和 http://example.com来访问就能保持会话一致了
此文是个人通过查资料以及实践的心得,有些地方说的不对(或有更好的方案)敬请指出。

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP日志记录对于监视和调试Web应用程序以及捕获关键事件,错误和运行时行为至关重要。它为系统性能提供了宝贵的见解,有助于识别问题并支持更快的故障排除

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。