403禁止获取post请求,但仅适用于某些Android浏览器

403禁止获取post请求,但仅适用于某些Android浏览器,android,node.js,express,fetch,cloudflare,Android,Node.js,Express,Fetch,Cloudflare,我使用Android默认浏览器的fetch得到了不同的结果(204和403) express上配置了路由器.post(/page) 快车正在使用头盔 浏览器发送whatwg fetch post请求 两个应用程序在具有不同域(stage.domain.com和domain.com)的同一台计算机上运行,它们具有相同的nginx config和.env for node(两者也具有node_env=production) 这两个环境都在使用cloudflare 在stage.domain.co

我使用Android默认浏览器的fetch得到了不同的结果(204和403)

  • express上配置了路由器.post(/page)
  • 快车正在使用头盔
  • 浏览器发送whatwg fetch post请求
  • 两个应用程序在具有不同域(stage.domain.com和domain.com)的同一台计算机上运行,它们具有相同的nginx config和.env for node(两者也具有node_env=production)
  • 这两个环境都在使用cloudflare
在stage.domain.com环境中,我总是感觉很好

在domain.com环境中,几乎所有安卓默认浏览器都有403个。 更多:有了一些android浏览器(SamsungBrowser/9.4),我得到了204->很好,但只有测试版和隐姓埋名模式

我确实尝试设置用户代理标题,但它被移动浏览器覆盖。 我也尝试将“credentials”参数更改为“同源”,但它会中断其他更多请求

无论如何,正如我所写的:这总是在stage.domain.com下工作

这是我的要求:

fetch(url, {
  method: 'POST',
  credentials: 'include',
  headers: {
    'Content-Type':'application/json',
    'Accept':'application/json',
    'Cache': 'no-cache',
    'X-CSRF-Token': formData._csrf
  },
  body: JSON.stringify(formData)
}).then(function (response) {...
我在这件事上快发疯了。了解三星浏览器在standard/incognito/beta之间的变化可能会有所帮助

这可能是一个Chromium问题,但为什么要在stage.domain.com上运行呢


感谢您的回复:)

403是否带有Cloudflare品牌?参考这个Nope,cloudflare被传递了,我在nginx和pm2日志中都找到了403。谢谢。403是否带有Cloudflare品牌?参考这个Nope,cloudflare被传递了,我在nginx和pm2日志中都找到了403。非常感谢。