项目架构
- 浏览器 --> 网站A --(代理转发)-> 网站B
问题背景
- 浏览器访问经过网站A代理转发的网站B接口会出现404情况
- 单独访问网站B(ip和域名)的相同接口200
- 代理转发配置无问题
- 只有经过网站A的转发后才出现404
问题定位
- 网站B对本文中访问的接口,存在特定逻辑,在特定环境中会redirect重定向到指定接口
- 当302到达浏览器的时候,浏览器会访问网站A+(网站B的指定接口)
- 网站A中并不存在相应接口,因此404
定位方式
- 通过命令行使用 curl -I 可以看到请求trace
- 使用浏览器访问可以看到302
- 查看代理转发日志,可以看到相应请求
- 使用postman等接口测试工具,无法看到
总结
- 404可能是直接访问不到引起的,也可能是经过代理后重定向访问不到引起的