产生的背景

做前端的小伙伴大概都知道这样一个业务场景:发起支付-跳转收银台-支付-支付完成且回调前端页面地址
我这次虽然不是支付回调页面地址,但是逻辑是一样的。
我在对接XX公司的人脸识别系统后回调前端页面地址然后页面显示405!?
image.png

原因

于是我把回调地址复制且在浏览器中运行却发现完全正常,经过我的查询结果所得:
项目中需要去请求获取静态资源文件,Nginx服务器是不允许静态文件响应POST请求的,否则会返回“HTTP/1.1 405 Method not allowed”错误。

而我去查看文档确实写着:为了安全考虑页面回调为post !!!

解决

我们只需要在 Nginx 中加入以下配置即可。

  1. error_page 405 =200 http://$host$request_uri;

就像这样:
image.png
到此,重新测试完整流程,结果页面跳转正常!