Nginx有时候POST请求是405错误,查到相关信息是说Nginx把请求的URL误认成静态页面地址,比如你定义的一个API如下
var express = require('express')
var app = express()
app.post('/handle.html', function (req, res) {
res.send('hello world')
})
以上代码,URL表面看好像是在请求服务器端的一个静态资源,但实际上是服务器端脚本在处理,解决方法是强制所有请求405都按200走,在server段加入以下代码
# To allow POST on static pages
error_page 405 =200 $uri;
保存nginx -s reload
,重新试试