排坑思路: 以最小服务器范围排查, 逐级避免其他层级服务器影响
小tips: 例如直接使用容器ip访问前/后端路径, 即可避免负载层的网络策略影响
先判断当前请求是否是跨域请求, 如果是非跨域请求, 排查nginx error日志, 看具体报错原因, 可能并不是后台返回的403, 例如: F5负载到错误的机器后, nginx默认会重定向到错误页, 如果这个错误页没有访问权限, 也会有403的问题.
如果是跨域请求, 可以视情况排查以下几点:
1. app端ip+端口健康检测
2. app端代码跨域配置
3. app端域名+端口健康检查
4. app端容器内健康检查
5. web端ip+端口健康检测
6. web端域名+端口健康检查
7. web端检查nginx配置, 是否针对反向代理的后端路径添加header
add_header Access-Control-Allow-Origin "*";
add_header Access-Control-Allow-Credentials true;
这里的header只有部分http状态码有效, 具体参考官网处理办法
Module ngx_http_headers_module
ps:另外要注意这篇文章中提到的问题nginx关于add_header的坑_nginx add_header_Mr.zhang0325的博客-CSDN博客