403forbidden
跨域出现403forbidden ,出现这个问题,一般都是权限问题,不让访问
本地访问测试接口时,发现GET,POST,UPDATE,OPTIONS,DELETE,PUT都是可以正常。
当vue生成production版,上传到远程服务器,却发现只有GET方法可以访问,POST,PUT,所有跟修改有关系的,接口都不能访问了。那么问题出现在一下几个方面。
1,检查后端代码允许的请求方法内是否有method 内有POST,UPDATE,OPTIONS,DELETE,PUT,如果有。
2,检查允许的服务远程前端网址(假设:www.axxxx.com)与接口服务器(www.bxxxx.com)是否放行。这一步是有后端工程师处理
@CrossOrigin(origins = "www.bxxxx.com", maxAge = 3600)
3,如果通过上面的两个步骤都没有问题,那么就想服务器的Nginx问题,那么Nginx配置问题,有没有方向。
打开Nginx下的。nginx.conf。这个一步是要找到接口服务器端(www.bxxxx.com)这个服务器对应的nginx。conf的配置放行。加入以下代码。
location /qianduanhtm{
proxy_pass http://localhost:8988; #后端的地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
proxy_set_header remote_addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 600s;
proxy_send_timeout 12s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}
4,运行,访问试试,现在都能访问成功了。
注意
4.1 重启nginx服务。千万记住!!!
4.2 不是加入到前端(www.axxxx.com)对应的nginx。conf的位置。而是 3 的代码要加入到 接口服务器(www.bxxx.com)对应nginx。conf位置。
4.3 qianduanhtm指的是,前端对应后台接口的路径位置