前言: 身为一名前端菜鸟,之前一直未关注后端对于跨域的配置,这不,终于又踩到坑了,由于nginx未配置代理转发,所以前端的处理一直都是针对开发环境和生产环境做处理 // 错误 的代理配置,同样启用proxy代理,并在axios配置文件中根据开发环境配置请求,这样在开发环境中可以正常请求,但是在生产环境中由于直接请求,浏览器会进行预请求OPTIONS 正确 的代理配置 axios 配置文件,根据需求是否添加默认前缀 /etc/nginx/conf.d project.conf 配置nginx —重点 nginx未配置转发后端接口地址bug:
http预请求options,这是浏览器对复杂跨域请求的一种处理方式,在真正发送请求之前,会先进行一次预请求,就是我们刚刚说到的参数为OPTIONS的第一次请求,他的作用是用于试探性的服务器响应是否正确,即是否能接受真正的请求,如果在options请求之后获取到的响应是拒绝性质的,例如500等http状态,那么它就会停止第二次的真正请求的访问const baseUrlHash = { production: 'https://test.admin.xxx.com', development: '/api' } const BASE_URL = baseUrlHash[process.env.NODE_ENV] axios.defaults.baseURL = BASE_URL
vue.config.js 配置proxy代理,不需要做别的配置,只需nginx转发后端接口地址module.exports = { devServer: { proxy: { '/api': { target: 'https://test.admin.xxx.com', changeOrigin: true, ws: true, pathRewrite: { '^/api': '' } }, '/http': { target: 'https://test.xxx.com', changeOrigin: true, ws: true, pathRewrite: { '^/http': '' } } } } }
axios.defaults.baseURL = '/api'
server { listen 80; server_name pcadmin.xxx.com; location / { try_files $uri $uri/ /index.html; #proxy_pass http://localhost:8089; // 项目地址 root /home/xfw/xfw-admin-html/dist; index index.html index.htm; } // 转发后端接口地址---重点 location ^~ /api/ { proxy_pass http://test.admin.xxx.com/; } location ^~ /http/ { proxy_pass http://test.xxx.com/; } }
We’re sorry but XX doesn’t work properly without JavaScript enabled
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算