前言

目前,查阅资料常用的解决方法如下:
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

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐