前言

目前,查阅资料常用的解决方法如下:
Nginx的405 not allowed错误解决

但不适用于我的情况。

本质原因

1.接口请求/api/users/到第一台服务器nginx,在80端口的server,转发到第二台服务器nginx的8083端口的server。
2.在第二台服务器nginx上,接口对应的路由/api/users/配置在nginx的80端口的server上,而不是8083端口的server上。
3.所以接口请求/api/users进来的时候,在第二台nginx的8083端口的server上,找不到对应的路由,刚好8083端口的默认路由是静态页面,所以导致405 not allowed错误

问题现象

原先用一层nginx代理的时候是正常的,用了两层nginx代理,导致使用post接口调用的时候,报错405 not allowed。

解决方案

在第二台nginx的8083端口的server上,配置上接口请求的路由。

感悟

具体问题,具体分析,别人的解决方案,不一定适合你。
先根据错误链条,一步步排查,定位到问题发生的原因,就能解决问题了。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐