环境:
centos
nginx 1.14
php7.1
ssl服务商 let's encrypt
前后端分离 Laravel + vuejs + axios
最近一次把网站升级为https时遇到个问题,火狐浏览器上运行,请求Api没有问题,chrome上option请求报ERR_SPDY_PROTOCOL_ERROR的错误,从网上资料搜的来看是有说由于http2配置引起的,但我在把http2取消后依然有报错。在多次尝试网上的解决方法后发现竟然是自定义头里面不能含空格。。。。
这是相关回答的地址 https://blog.youkuaiyun.com/qq_37118034/article/details/81945960
调试方法是直接返回ok看到底哪个头部设置有问题
header("Access-Control-Allow-Origin:*");
header('Access-Control-Allow-Methods:*');
if($_SERVER['HTTPS'] && $_SERVER['REQUEST_METHOD'] == 'OPTIONS'){
echo 'ok';
exit();
}
header('Access-Control-Allow-Headers:x-requested-with,content-type,Auth,Lang');