如何在反向代理后面正确设置 JSESSIONID cookie 路径

2024-04-24

我的网络应用程序正在 Tomcat 中运行http://localhost:8080/example.com/但它是从 Apache 提供的反向代理http://example.com/在端口 80 上。我的网络应用程序查看request.getHeader("x-forwarded-host")header 来知道它位于反向代理后面。当它(动态地)检测到这一点时,它会构建没有 Servlet 路径的 URL。

这对于除 JSESSIONID cookie 之外的所有内容都适用。它的路径设置为/example.com代替/当通过反向代理访问时。我不知道如何让我的代码告诉 Tomcat 在存在 cookie 时覆盖该 cookie 的路径x-forwarded-host请求的标头。

我尝试自己从 Web 应用程序设置 JSESSIONID cookie,但这只会产生两个 Set-Cookie 标头,其中只有一个是正确的。


Tomcat6 使用 Servlet 2.3 规范。它不支持通过代码或 Tomcat 配置更改 cookie 路径。

我让它在 Apache 方面与一些人一起工作mod_proxy指令。这ProxyPassReverseCookiePath指令正是我想要的。它从 Tomcat 获取路径不正确的 cookie,并将其重写为正确的路径。

<VirtualHost *:*>
    Servername example.com
    ProxyRequests Off
    ProxyPass / http://localhost:8080/example.com/
    ProxyPassReverseCookiePath /example.com /
    ProxyPassReverseCookieDomain localhost example.com
</VirtualHost>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在反向代理后面正确设置 JSESSIONID cookie 路径 的相关文章

  • Spring Boot:使用不同的 Tomcat 版本

    在 Spring Boot 文档中有一个部分将 Tomcat 7 x 或 8 0 与 Gradle 结合使用 https docs spring io spring boot docs current reference html howt
  • Spring Java 应用程序找不到密钥库文件

    我正在尝试设置一个简单的 Spring 应用程序来使用 SSL 并将其托管在 Digital Ocean 上 为什么我的应用程序找不到密钥库文件 我设置的 Droplet 基于 Ubuntu 18 04 我使用 Letscrypt 来获取证
  • 配置Tomcat使用属性文件加载DB连接信息

    创建从属性文件读取配置参数的 Tomcat 部署的可接受做法是什么 如果能够提供 WAR 文件并指定客户端只需在特定目录中创建或编辑属性文件 那就太好了 这是一种比较常规的做事方式吗 还有比这更好的方法吗 我们经常通过提供 WAR 和 Co
  • Tomcat 10 上的 Spring Boot 2.x 问题

    我试图在 Tomcat Docker 容器中部署一个 war 文件 但总是得到404 Not Found页 我通过以下方式创建了 Spring Boot 项目Intellij 教程 https www jetbrains com help
  • Tomcat 集群环境中的 JDBC 连接池

    我对此相对很陌生 但我设置了一个 Tomcat 集群 使用mod proxy来自httpd 和会话复制 单独的redis服务器 以实现容错 我对这个设置有几个问题 我的应用程序 spring hibernate 每个用户都有不同的数据库 所
  • 从命令行将 java_opts 设置为 tomcat 服务

    我有一个在Windows上运行的tomcat7服务 通常为了配置 Java 选项 我会转到 Tomcat 7 0 bin tomcat7w exe 并在 java 选项卡中 在 java 选项中打印我想要的定义 例如 javaagent 我
  • IntelliJ IDEA 中缺少“更新资源”选项

    我正在使用 tomcat 7 来开发 java web 应用程序 在调试模式下运行tomcat 我在 更新 菜单上没有 更新资源 和 更新类和资源 选项 只有 热插拔类 重新部署 和 重新启动服务器 请问你能帮忙找到他们吗 预先非常感谢 这
  • Tomcat下无法运行PHP脚本

    我正在使用 Tomcat 6 我已经安装了 PHP 并尝试使用 PHP JavaBridge 在 Tomcat 中运行 PHP 我已在 Tomcat 的 webapps 目录中部署了 JavaBridge war 当运行任何 PHP 脚本时
  • 如何在同一服务器上运行 TeamCity 的多个实例?

    我在 Windows 上尝试在同一服务器上运行多个 当前是两个 TeamCity 实例 我选择不安装 Windows 服务 而是通过以下方式运行服务器runAll bat启动命令 当我运行安装程序时 我为每个安装程序选择了不同的端口 名称和
  • Tomcat 上的 Grails - 如何记录原始 HTTP 请求/响应

    我找不到配置我的虚拟教程 Grails 应用程序来记录 Grails 服务器 实际上是 Tomcat 接受 生成的所有 HTTP 请求和响应的方法 这可能吗 另一种选择是使用 tomcat 的内置访问日志记录 http tomcat apa
  • 为从 nginx 反向代理转发的请求添加唯一 id

    我们运行 nginx 作为反向代理 将请求转发到运行 Compojure 的 Clojure 应用程序 Compojure 是一个封装 Jetty 的库 为我们的应用程序提供服务 Web 请求的能力 目前 我们捕获 nginx 和 Cloj
  • eclipse中Tomcat服务器发布问题

    当我尝试启动服务器时 出现以下异常 Could not publish to the server java lang IndexOutOfBoundsException 技术 JSF 2 Primefaces 3 5 Tomcat 7 J
  • 尝试使用 Netbeans 将 Web 应用程序重新部署到 Tomcat 时出现 AccessControlException

    我尝试从 Netbeans 6 8 中在 Tomcat 上重新部署 Web 应用程序时遇到以下错误 这可能与新的保存部署和热插拔功能有关 有什么想法如何解决这个问题吗 INFO Error registering wrapper with
  • 部署程序集:当前显示的页面包含无效值

    我从 Sourceforge 导入了一个 Java Web 应用程序 我花了三个工作周的时间来消除项目名称和包上附加的所有红叉 但现在我无法使该应用程序在我的 Eclipse 和 tomcat6 开发环境上运行 在项目属性中 当我尝试设置部
  • WAR 文件在 Tomcat 服务器中抛出 OutOfMemoryError

    我有一个 Spring MVC WAR 文件 可以在我的本地计算机 程序和网站 中完美运行 一旦我将文件上传到服务器 aTomcat 7 并尝试访问它 catalina 日志文件表明java lang OutOfMemoryError 我尝
  • 使用 Java 重新启动 Tomcat

    我需要从 Java 代码重新启动 tomcat 例如 如果某个查询在一段时间内没有执行 那么它将自动重新启动 tomcat 我已经尝试了以下关闭和启动代码 但是当我们关闭tomcat时 java代码将不会运行并且tomcat不会启动 注意
  • 有没有办法防止 Tomcat 在加载的 JNI 库损坏内存时崩溃?

    我们有一个在 Tomcat 7 上运行的 Web 应用程序 它加载一个用 C 编码且由第三方开发的 JNI 库模块 基本上 这个库为我们的网络应用程序提供生物识别技术 我们不能为此使用全 java 解决方案 除了使用 JNI 库模块之外别无
  • NGINX 与 Tomcat 配置

    我是 Nginx 新手 我需要你的帮助 根据很多论坛我了解到我们所有的静态页面都存储在Nginx中 当有请求到来时 我必须将该请求传递给 tomcat 获取数据 并在 tomcat 生成响应后生成响应 目前 我刚刚做到了 我将请求直接传递给
  • Tomcat 连接池与准备好的语句缓存

    从 DBCP 连接池升级到 Tomcat 自己的实现 基于优秀的比较here http tomcat apache org tomcat 7 0 doc jdbc pool html Introduction 我有点困惑为什么他们放弃了这两
  • 从 Web 服务器异步调用应用程序

    我有一个用 Spring 制作的 在 Tomcat 上运行的 Web 应用程序 在同一台机器上有一个普通的 Java 应用程序 我想通过从Web服务器调用Java应用程序来执行它 但我想让应用程序不会使用服务器的资源 它涉及分类器的训练 因

随机推荐

  • 将结果从 python 写入 csv 文件 [UnicodeEncodeError: 'charmap' 编解码器无法编码字符

    我一直在尝试编写一个脚本 该脚本可能会从定义的 YouTube 视频的评论部分中删除用户名列表 并将这些用户名粘贴到 csv 文件中 这是脚本 from selenium import webdriver import time impor
  • 在 Emacs org-mode 中设置本地文件变量

    在特定的组织模式文件中 我不希望继承标签 我以为放 org use tag inheritance nil因为第一行可以解决问题 但这似乎不起作用 缺少手动执行setq声明 我怎样才能做到这一点 你缺少一个尾随 在标题评论中 尝试这个 or
  • Eslint 如何只更改代码行

    我需要一种方法来仅在分支上已更改的代码行或块上运行 ESLint 我们的想法是 我们有一个庞大的旧代码库 我们希望强制执行 ESLint 规则at least向前进 我在 CI 中实现了它 对 PR 中更改的所有文件进行了检查 但是人们在接
  • 如何使用 Maptiler 在 Google 地图中显示图块

    我有一个 1810x14871 png 文件 我想将其显示为 Google 地图上的图块 我正在使用Maptiler 我想向您确认几点 1 因为我想在谷歌地图上显示它 因此 在第一个屏幕中我必须选择 墨卡托瓷砖 对吗 2 在坐标系屏幕中 我
  • 目标加速度和子弹减速度随角度变化的弹丸目标预测

    我之前问过一个关于这个话题的问题here https gamedev stackexchange com questions 200260 intercept an accelerating object with a constant v
  • Android 正确关闭相机

    好吧 在过去的几周里 这种情况在我身上发生了几次 但我不知道如何解决它 基本上我的应用程序使用相机 但每隔一段时间 在应用程序上使用相机几次后 它有时会强制关闭 甚至无法与其他应用程序或手机上的默认相机一起使用 我发现解决此问题的唯一方法是
  • IRunningObjectTable.Register 始终将 pdwRegister 设置为 65536,这是一个无效值

    我在用着IRunningObjectTable Register and IRunningObjectTable Revoke如图所示this http www codeproject com KB COM ROTStuff aspx ms
  • 为 Android 实现 Firebase 服务器端倒计时器?

    有没有办法在 Android Studio 中实现 Firebase 服务器端倒计时器 我希望计时器位于服务器端 这意味着每当用户打开我的应用程序时 所有用户的计数器始终会在同一时间 我阅读了以下问题的答案this https stacko
  • 使用 CoffeeScript 以编程方式检查复选框

    如何以编程方式检查 Coffeescript 中的复选框 我知道在 Javascript 中 我可以使用这个 myElement checked true 我可以在 Coffeescript 中执行类似以下操作吗 myElement che
  • 符号字符串强制转换

    Symbol throws 类型错误 无法将符号值转换为字符串 虽然已知的解决方法是使用String Symbol 这看起来与其他原语不一致 包括那些几乎不应该被强制的原语 undefined and null 究竟如何String与 不同
  • 是否可以在更大的表达式中使用可选的 ifPresent() 来减轻对 get() 的调用?

    为了避免打电话get 这可能会引发异常 if a isPresent list add a get 我可以将此表达式替换为 a ifPresent list add 但是如果我需要执行更大的表达式 例如 if a isPresent b c
  • Biopython 成对比对导致循环运行时分段错误

    我正在尝试运行成对全局对齐方法biopython循环大约 10000 对字符串 每个字符串平均长度为 20 个字符 对一对序列运行该方法效果很好 但在循环中运行此操作 低至 4 对 会导致分段错误 如何解决这个问题 from Bio imp
  • 具有持久性的网页导航 - ASP.NET C#

    我有一个已经用 ASP NET 完成的网站 我需要在底部添加一个部分来保存实时流视频聊天 Flash 对象 并且我需要它在不同的页面访问中持续存在 例如我有可能被访问的 profile aspx 和 local aspx 并且我需要底部的小
  • li 元素内的作用域函数未被调用

    我使用 ng repeat 生成 li 在 LI 内部我有输入类型控件 它有一个范围函数 fn btnClose 当我单击按钮时 按钮的单击事件没有被调用 而是 li 的单击事件被触发 我在 js fiddle 中做同样的事情 它在那里工作
  • JSP 包含参数用法

    我应该如何访问param1来自包含的 jsp 的值 navMenu jsp
  • GPars:返回eachParallel{}

    我想对每个示例字符串做很多事情 并在此处返回一些其他类型的对象 整数 然后返回一些更大的类对象 在这个例子中 我正在尝试一些简单的事情 但我得到了完全错误的结果 至少对于我希望得到的东西 xD 我希望得到 6 5 6 5 但我得到的是 bu
  • iPhone/iPad 的核心文本示例

    我正在寻找 iphone ipad 的核心文本示例 但运气不佳 任何线索将不胜感激 我在 Github 上编写了一个小项目 为 Core Text 提供了 Objective C 包装器 https github com akosma Co
  • 如何使用 WHERE 条件中的关联值从 ABAP SQL 消费 CDS?

    我有一个通知标头的 CDS 视图及其状态关联 define view ZNOTIF as select from qmel as notif association 0 to ZNOTIF STATUS as status on statu
  • jquery如何选择所有以“text-”开头的类元素?

    我有一些课程 text 1 text 2 text 3 我想全部选择 该怎么做 谢谢您的帮助 尝试这个 欲了解更多详情 请参阅jquery selectors http api jquery com attribute starts wit
  • 如何在反向代理后面正确设置 JSESSIONID cookie 路径

    我的网络应用程序正在 Tomcat 中运行http localhost 8080 example com 但它是从 Apache 提供的反向代理http example com 在端口 80 上 我的网络应用程序查看request getH