Jira 创建项目抛出“创建项目时出错,XSRF 检查失败”

问题描述 投票:0回答:2

我正在尝试获取在 AWS 上的 ubuntu 服务器盒上运行的 Jira 副本。我配置了 Tomcat,并且可以成功访问我的站点(网址为 http://example.com:8080/jira)并开始设置过程。我可以创建用户名,但是当指示我创建第一个项目时,我在尝试保存时收到以下错误:

创建项目抛出“创建项目时出错,XSRF 检查失败”

这里记录的是相同的错误:

https://confluence.atlassian.com/jirakb/creating-project-throws-error-creating-project-xsrf-check-failed-397083076.html

Atlassian 自己以及此处:

https://answers.atlassian.com/questions/283780/looking-for-the-full-list-of-http-headers

一些论坛用户。这两种情况都表明标头被阻止,第二个链接很好地列出了每个标头:

X-AREQUESTID
X-ASESSIONID
X-AUSERNAME
X-SITEMESH-OFF
X-Atlassian-Token
X-Requested-With

Do not forget to allow GET (of course), POST (of course) but also PUT http methods

我面临的问题是我无法找出我的 ubuntu 服务器如何阻止这些标头。我正在运行 nginx,如果有帮助的话,我会很乐意发布我的配置。否则所有配置都在 tomcat 中完成。

我在某处得到提示说 UFW 可能会阻止它们,但这似乎并没有运行。有谁知道我将如何解锁这些标头来解决我的 Jira 错误?

jira ubuntu-server
2个回答
5
投票

UFW 根本不会给你这个错误。 UFW 仅运行到第 4 层(TCP/UDP),而不运行到 HTTP 层,您收到的响应是应用程序层,这意味着所有较低层都已成功通信。

如果您通过 nginx 运行代理,请确保已启用 proxy_pass_request_headers。

location / {
  proxy_pass                      http://example.com;
  proxy_set_header                Host http://example.com;
  proxy_pass_request_headers      on;
}

查看:设置指南

您只能将 JIRA 配置为响应单个 URL,并且此设置必须与您的用户访问 JIRA 站点所请求的 URL 相匹配。例如,您不能为内部和外部用户使用不同的主机名或 URL。此基本 URL 设置与 JIRA 用户请求的 URL 之间的任何不匹配都会导致仪表板小工具出现问题。

XSRF 通常是主机名配置错误,您可能需要检查配置的基本 url。


0
投票

如果您使用HAProxy并需要正确转发标头或解决与HTTP模式相关的问题,您可以使用以下配置:

listen jira
        bind *:80
        mode http
        server services 192.168.1.1:80 check

通过设置http模式,HAProxy被配置为在HTTP层(第7层)运行。这可以正确处理 HTTP 特定的功能,例如标头转发和 HTTP 身份验证。

© www.soinside.com 2019 - 2024. All rights reserved.