这是什么奇葩问题呀,为什么我的接口请求会时不时报跨域错误,有大神遇到过吗?

2020-10-10 16:14:54 +08:00
 wuzhanggui

我知道怎么复现这种错误,但就是解决不了,在浏览器中 F12 打开调试,勾选 disable cache 后,F5 刷新几次就会出现报错了,之前在后台代码里设置的跨域,报错,后来改到在 Nginx 里配置的跨域,还是这样,实在是无法解决了,真是太毒了,根本不知道哪儿发生的错误,求大神解答!🔥🔥🔥 附上小站地址: https://color.dumogu.top/

1791 次点击
所在节点    问与答
8 条回复
gogogo2000
2020-10-10 17:23:11 +08:00
因为 POST 到 https://api.dumogu.top/color/get_index 的请求 503 出错了
wuzhanggui
2020-10-10 18:00:44 +08:00
@gogogo2000 那为啥平时刷新啥的都没问题呀?
wunonglin
2020-10-10 18:15:49 +08:00
是你 get_index 出错,没返回 200 。

nginx 的 add_header 在不是 200 的情况下好像不会返回自定义头的,非要返回的话要在值后面加 always

🌰:
```
add_header Access-Control-Allow-Origin $http_origin always;
add_header Access-Control-Allow-Methods 'OPTIONS, GET, PUT, POST, DELETE' always;
add_header Access-Control-Allow-Headers 'X-Requested-With, X-Request-Client' always;
add_header Access-Control-Allow-Credentials true always;
add_header Access-Control-Max-Age 180 always;
```
wuzhanggui
2020-10-10 18:25:50 +08:00
@wunonglin 可是我另一个小站用的是代码那边设置的跨域,还是会出现这种错误 https://www.dumogu.top/
wuzhanggui
2020-10-10 18:27:08 +08:00
我后台也没写禁止缓存会返回错误的信息呀
wunonglin
2020-10-10 18:36:06 +08:00
按理说加了 always 的话是没什么问题了的。不懂你了,你看下面那个教程设置下吧

https://enable-cors.org/server_nginx.html
firefox12
2020-10-10 19:54:01 +08:00
你的 nginx 里没有加啊, 我这里看到的 response 里没有
wuzhanggui
2020-10-10 21:08:23 +08:00
感谢各位,终于找到原因了,加了 aways 后看到报的 503 错,还是 nginx 报的,突然想起我以前设置过单 ip 限制请求频率,只有那里会报 503,然后改了一下就好了,真是够毒的,被卡在这里好几天了,哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/713702

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX