使用lumen做的后台API,和前端调试时前端在调用需要jwt认证的接口时出现405not allow 错误。
成都创新互联-成都网站建设公司,专注成都做网站、成都网站建设、网站营销推广,国际域名空间,雅安服务器托管,成都网站托管有关企业网站制作方案、改版、费用等问题,请联系成都创新互联。
找了一堆发现可能是跨域问题。
http://to-u.xyz/2016/06/30/nginx-cors/ 讲的不错。主要就是复杂请求时会先发送一次OPTIONS预请求然后再正式请求。。。。。
当时找了一天没找明白是为什么。最后才定位到NGINX服务器上。
特此记录!
在nginx.conf server块加上这段过滤就行。
if ($request_method = 'OPTIONS') {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;
#其他头部信息配置,省略...
return 204;
}
参考:
http://www.ruanyifeng.com/blog/2016/04/cors.html
http://to-u.xyz/2016/06/30/nginx-cors/
Nginx如何进行跨域配置,才能使用DELETE,PUT请求方法
请添加链接描述
Cross-Origin Resource Sharing (CORS)