JasperServer代理CSRF错误

2024-06-21

我在 Ubuntu 14.04 LTS 上使用捆绑的 Tomcat 和 Nginx 代理重新安装了 JasperReports Server 6.2,以便我可以访问https://mydomain.xyz/jasperserver https://mydomain.xyz/jasperserver。它大部分有效,但我无法管理用户和角色。如果我绕过 Nginx 直接访问 Tomcathttp://123.123.123.123:8080/jasperserver http://123.123.123.123:8080/jasperserver,一切都很完美。日志表明:

2016-02-28 19:44:08,024 错误 CsrfGuard,http-nio-8080-exec-3:44 - 潜在的跨站点请求伪造 (CSRF) 攻击被阻止(用户:,ip:127.0.0.1,uri:/jasperserver /flow.html,错误:请求中缺少必需的令牌)

这与这个旧问题完全相同:在 nginx 后面运行 jasperserver:潜在的 CSRF 攻击 https://stackoverflow.com/questions/17920949/running-jasperserver-behind-nginx-potential-csrf-attack。但我已经尝试了建议的两种缓解措施,但仍然不起作用。

  • 我尝试设置underscores_in_headers on;,首先在刚刚http,然后在server,然后在两者中。
  • 当这不起作用时,我删除了下划线JASPER_CSRF_TOKEN and OWASP_CSRFTOKEN in WEB-INF/esapi/Owasp.CsrfGuard.properties

我重新启动服务器只是为了确保所有内容都已清除并重新启动,但仍然无法正常工作。

我正在寻求有关解决方案的建议和/或有关如何更好地诊断问题的指导。我是 Jasper 新手,我的 Java/Tomcat 技能很生疏。


我知道这现在已经很旧了,但是从 JasperReports Server 7.X 开始,可能还有更早的版本:

当通过 Nginx 代理到 JasperReports Server 时,underscores_in_headers on;设置必须在 nginx 配置中。

从讨论中看来here https://stackoverflow.com/questions/22856136/why-underscores-are-forbidden-in-http-header-names如果没有此设置,JasperReports Server 使用的默认 OWASP_CSRFGUARD 标头将被 Nginx 静默删除。我遇到过的其他代理和负载均衡器都没有这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JasperServer代理CSRF错误 的相关文章

  • 构建具有“RUN apt-get update”的 Dockerfile 给我“rootfs 内的监狱进程导致‘权限被拒绝’”

    我的 Docker 主机是 Ubuntu 19 04 我使用 snap 安装了 docker 我创建了一个 Dockerfile 如下所示 FROM ubuntu 18 04 USER root RUN apt get update RUN
  • nginx/uwsgi 服务器的持久内存中 Python 对象

    我怀疑这是否可能 但这是问题和提出的解决方案 提出的解决方案的可行性是这个问题的对象 我有一些需要可用于所有请求的 全局数据 我将这些数据保存到 Riak 并使用 Redis 作为缓存层以提高访问速度 目前 数据被分为约 30 个逻辑块 每
  • 设置 nginx 具有多个 IP

    我的 nginx 配置文件位于 etc nginx sites available 下 有两个上游说 upstream test1 server 1 1 1 1 50 server 1 1 1 2 50 upstream test2 ser
  • 将虚拟主机分配给 Docker 端口

    我设置了通配符 DNS 以便对自定义域 foo 的所有 Web 请求都映射到 Docker 主机的 IP 地址 如果我有多个运行 Apache 或 Nginx 实例的容器 每个容器都会将 Apache 端口 80 映射到某个外部入站端口 我
  • 使用 Nginx 自定义错误网关页面

    是否可以在 Nginx 中提供自定义的 Bad Gateway 错误页面 类似于自定义 404 页面 为了显示您的自定义错误页面而不是一般的 错误网关 错误 必须满足三个部分 您必须创建一个名为 500 html 之类的 html 文件并将
  • Angular - UI 路由器路由 - HTML5 模式

    我正在尝试在我的 Angular 应用程序中使用 HTML5 推送状态链接 我拥有的是一系列类似于以下的路线 stateProvider state product url product productCode templateUrl p
  • Django的注释框架和CSRF

    据我了解 Django的评论框架 https docs djangoproject com en 1 4 ref contrib comments 专为匿名公众评论而设计 就像您通常在博客或文章下面看到的那样 换句话说 任何人都可以发表评论
  • 无法读取未定义的属性“isLoggedIn”

    此代码用于添加产品 然后添加到购物车和订单 并在后端使用 mongodb 创建 pdf 实际上 session isLoggedIn 是在 auth js 中定义的 检查该代码 但仍在 app js 中它给出了此错误 应用程序 JS代码 c
  • Mono 3.0、Ubuntu 12.10、Nginx 和 ServiceStack

    根据 ServiceStack 网站的说法 使用 Mono 在 Linux 上启动和运行 ServiceStack 应该很容易 我已经在系统 Ubuntu 12 10 上安装了 nginx mono 3 0 和 fastcgi 我用过thi
  • 应用程序移至 Docker 生产环境时 Flask-WTF CSRF 验证失败

    我刚刚为我一直在开发的 Flask 应用程序设置了生产环境 这个堆栈是 Windows Server 2012 R2 Hyper V VM Running Ubuntu 14 04 Docker 1 5 Running Containers
  • nginx设置问题

    我知道这不是一个直接的编程问题 但是 stackoverflow 上的人似乎能够回答任何问题 我有一台运行 Centos 5 2 64 位的服务器 非常强大的双核 2 服务器 具有 4GB 内存 它主要提供静态文件 Flash 和图片 当我
  • nginx - 禁用特定 URL 的 HTTPS 重定向

    我将 nginx 设置为将所有 HTTP 请求重定向到 HTTPS 如下所示 Redirect every request to HTTPS server listen 80 listen 80 server name sub exampl
  • 使用 aws elastic beanstalk 将非 www 重定向到 www

    我正在使用 Elastic Beanstalk 并按照说明使用 Express Web 服务器部署我的应用程序 如下所示 http docs aws amazon com elasticbeanstalk latest dg create
  • 通过 ESI:include 设置 Cookie,如何?

    我正在尝试使用 esi 在我的网站上创建忍者缓存 这个想法是 该网站大部分是静态的 我只需要在用户是否登录时做一些花哨的事情 所以我试图在页面A上放置一个 并在页面B的应用程序中设置触发器 这样我就可以将页面 A 缓存在 varnish 上
  • 使用 PM2 将节点作为服务运行 - 连接被拒绝

    我正在关注this https www digitalocean com community tutorials how to set up a node js application for production on ubuntu 16
  • JasperServer代理CSRF错误

    我在 Ubuntu 14 04 LTS 上使用捆绑的 Tomcat 和 Nginx 代理重新安装了 JasperReports Server 6 2 以便我可以访问https mydomain xyz jasperserver https
  • Kubernetes 入口控制器 - 无法从外部虚拟机进行 TCP 连接,网络流量未转发到“服务”端口

    我有 Azure Kubernetes 服务集群 并且在集群外部有来自不同虚拟网络的虚拟机 我尝试从该虚拟机连接到在 TCP 端口 9000 上运行的容器 Pod 应用程序 我不能使用公共 IP 这不是 HTTP连接 但我需要使用 TCP
  • req.protocol 永远不会在 nginx 代理后面提供 https

    我正在尝试识别我的 Express 应用程序是否通过https协议 Using nginx处理认证和加密 在同一台机器上 并转发请求 req protocol评估为http即使 https 正在使用并且工作正常 我已经尝试了以下两种方法 单
  • 当执行 Tomcat 的 proxy_pass 时,Nginx 如何添加子域作为参数

    我想要实现的目标Web 应用程序应该能够支持多个子域 而无需在每次使用新子域时对 nginx 或 tomcat 进行任何更改 我已经对 DNS 进行了必要的更改以支持通配符子域 Nginx 监听端口 80 它在端口 8080 上对 tomc
  • 将 csrf 令牌传递给 Stripe

    我正在使用 stripe js 进行条纹支付 我需要设置一个回调 webhook 来接收来自 stripe 的请求 由于 webhook 是通过 stripe 发布的 我已将其标记为csrf excempt 提出这个观点有什么风险吗csrf

随机推荐