项目需要、 前端直接调用服务端开放接口,由于域名不同,需要解决跨域名问题。
在网上搜了一堆案例都说在nginx配置跨域,如下:
proxy_pass https://rtc;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
nginx配置后还是报同样的错误、然后看到一个帖子上说可能是证书问题,于是就配置服务端证书、随后刷新浏览器 成功访问
解决步骤如下:
1、打开火狐浏览器设置–隐私与安全–点击查看证书
2、点击服务器–点击添加例外
3、输入服务端地址点击获取证书–确认安全例外
4、点击确定刷新浏览器就大功告成