【问题标题】:Confused about session management between Apache httpd and Tomcat using mod_jk对使用 mod_jk 的 Apache httpd 和 Tomcat 之间的会话管理感到困惑
【发布时间】:2022-01-18 05:01:24
【问题描述】:
我对使用 mod_jk 的 Apache httpd 和 Tomcat 之间的会话管理感到困惑。我知道 Apache 通常用于提供 http 页面,而 Tomcat 则用作处理不同类型 Web 请求的指令。因此,当使用这两者的应用程序收到请求时,Apache 是否会创建一个会话,在该会话中创建一个 Tomcat 会话?我之所以这样问,是因为我对 apache httpd.conf 文件中的会话所做的更改似乎都没有生效,但我对 Tomcat 配置文件所做的更改确实会影响我的应用程序。
【问题讨论】:
标签:
java
apache
tomcat
httpd.conf
mod-jk
【解决方案1】:
Apache httpd 是 - 特别是当 mod_jk 在游戏中时 - Tomcat 的反向代理。它通常只是转发请求和响应。
如果基于 tomcat 的 Web 应用程序需要会话,Tomcat 将创建会话并通常使用 cookie 处理它。此会话信息是代理内容的一部分,Apache httpd 既不会创建、删除或操作这些内容(除非您明确将其配置为这样做,在这种情况下您会知道自己这样做了)。
如果 Apache httpd 有一些需要会话的其他组件(例如基于 PHP),这部分会话处理将受 PHP 应用程序的约束。
无论它们是否被代理,Tomcat 会话的行为都是相同的。因此,Apache httpd 对 Tomcat 会话有(除非你导致它)没有影响。