代理后面的Tomcat上运行的servlet如何知道浏览器发送请求的服务器名称



我有以下安排:浏览器 -> forward proxy-> cloud->(Apache Server Jira Web应用程序)。出于实验目的,我转到带有域名fwdproxy.foo.com的前向代理,然后转发代理将其更改为jira.foo.com并转发连接。当我加载JIRA页面时,我会收到错误" jira报告它在主机名'jira.foo.com'上运行,该'与运行这些诊断的主机名与" fwdproxy.foo.com"不匹配。使用不正确的主机名的URL,这将导致仪表板中的错误,以及其他问题

在进一步调试中,我看到了com.atlassian.gadgets.dashboard.internal.diagnostics.urlhostnamemismatchexception:检测到的URL hostName,'jira.foo.com',与预期的hostName fwdproxy.foo.com。

JIRA Web应用程序如何知道浏览器正在使用哪个主机名。由于向前代理创建了完全不同的HTTP连接,因此JIRA不应该知道浏览器在向前代理背后的工作。请提供输入。谢谢

只有2个想法:
您可以配置Jira,给他公共URL(管理/全局配置/基本URL)
我想JIRA将此字段与主机HTTP标头进行比较,或使用XSS保护的Antoher机构,也许是Atlassian.xsrf.token?

最新更新