当前位置: 首页 > 面试题库 >

Struts2:会话问题(反向代理后)

百里君博
2023-03-14
问题内容

我将会话参数存储在Struts2会话映射中,该会话映射是使用SessionAware接口在操作中获得的。我的应用程序位于/ MyApp路径中。

在具有反向代理重定向的Apache服务器上设置struts2应用程序之后,该重定向使URL
http://www.appdomain.com/ 指向本地 主机
上的本地tomcat :8080 / MyApp ,Struts2会话处理不再起作用。我希望会话cookie存储在http://
localhost:8080 /
MyApp的Struts2上下文中,而不是http://www.appdomain.com/


Struts2配置中有解决方案吗?还是以编程方式以某种方式更改会话cookie?在互联网或官方文档中找不到有关此的任何信息。请帮忙,我已经在生产中,我的登录信息不起作用;-)


问题答案:

我只是用一个肮脏的技巧解决了这个问题:我将会话ID传递给JSP,并使用JavaScript设置了所需的JSESSIONID cookie客户端。

函数createCookie(name,value,days){if(days){var date = new Date();
date.setTime(date.getTime()+(days * 24 * 60 * 60 * 1000)); var expires =“;
expires =” + date.toGMTString(); } else var expires =“”; document.cookie =
name +“ =” + value + expires +“; path = /”; }

$(document).ready(function(){createCookie(“ JSESSIONID”,“”,3);});

从此页面获取了JS代码:http
:
//www.quirksmode.org/js/cookies.html

谢谢,问题解决了!



 类似资料:
  • 我在设置apache反向代理服务器时遇到问题,希望您能提供帮助。 我安装了带有apache的ubuntu服务器,并启用了以下模块: 然后我用以下内容在代理上设置000-default.conf: 路由器上的端口80和443被转发到代理服务器。在服务(1-3)服务器上,使用来自Lets Encrypt的证书启用SSL。 谢谢你的帮助!

  • 我已经在预打包的jetty服务器前面安装了http反向代理。jetty服务器是预配置的应用程序,不太灵活。此Jetty服务器将只接受SSL请求。 我将nginx配置为使用自己的SSL证书在443上侦听SSL流量。然后在nginx后面,我在另一台运行jetty服务器的机器上有另一台服务器,在端口443上有自己的证书。 我的Nginx配置如下所示, 如果我在https上点击jetty服务器,就会得到一

  • 我有一个WordPress博客运行在反向代理(Apache)后面。 httpd。维奥斯特。形态: 博客工作正常,我可以以管理员身份登录,但当尝试保存设置或删除插件(出现wp_重定向)时,我会被重定向到登录页面,因为wordpress显然没有找到/接受会话cookie,并且操作没有完成。 因此,我增加了这一行: (请参阅Apache代理cookies仅适用于第一个应用程序) 这似乎解决了问题。然而,

  • 我有一个RestHighLevelClient连接到一个远程elasticDB,它位于一个反向代理后面,该代理剥离了ssl。 当我打电话的时候 我得到一个握手失败的例外 正如这里和这里所描述的,我检查了日志,发现了ClientHello 服务员:你好 客户端和服务器都同意密码套件TLS_ECDHE_RSA_和_AES_128_GCM_SHA256 然后以加密和纯文本的形式跟踪请求。然后是另一个Cl

  • 什么是反向代理 反向代理(Reverse Proxy)方式是指用代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。 举个例子,一个用户访问 http://www.example.com/readme,但是 www.example.com 上并不存在

  • 反向代理是一个 V2Ray 的附加功能,可以把服务器端的流量向客户端转发,即逆向流量转发。 反向代理功能在 V2Ray 4.0+ 可用。目前处于测试阶段,可能会有一些问题。 反向代理的大致工作原理如下: 假设在主机 A 中有一个网页服务器,这台主机没有公网 IP,无法在公网上直接访问。另有一台主机 B,它可以由公网访问。现在我们需要把 B 作为入口,把流量从 B 转发到 A。 在主机 A 中配置一