zoukankan      html  css  js  c++  java
  • nginx代理WEB服务效验CSRF Headers失败

    背景:

    WEB服务在公司内部服务器上,使用nginx做透明代理,OA区访问发现WEB服务返回No XSRF Header;

    在服务器内部本地curl 不过nignx发现可以:

    CSRF的一般防护策略:

    1、限制referer请求来源

    2、增加字段token验证

    这次的WEB服务使用的在headers增加了在token进行验证。

    原因:

    问题原因在于nginx默认会忽略掉headers中_线标识符字段头

    解决:

    知道问题就简单了:

    方法一:不用下划线
    把下划线_改成其他的,如sign_val改成sign-val

    方法二:nginx增加配置项

    nginx默认request的header的那么中包含’_’时,会自动忽略掉。
    在nginx里的nginx.conf配置文件中的http部分中添加如下配置:
    underscores_in_headers on; (默认 underscores_in_headers 为off)

    增加nginx配置后。reload重新访问生效。

    参考信息:

    https://blog.csdn.net/shidebin/article/details/86133762

    【版权所有@Sevck 博客地址http://www.cnblogs.com/sevck】 可以转载,注明出处.
  • 相关阅读:
    char
    export和export default
    递归打印文件目录
    centso7 安装redmine
    sonar结合jenkins
    sonar安装
    gitlab+jenkins
    centos5 安装redmine
    elk安装最佳实践
    elk认证模块x-pack安装
  • 原文地址:https://www.cnblogs.com/sevck/p/14609644.html
Copyright © 2011-2022 走看看