位置: IT常识 - 正文
以前的技术,通过<script>标签跨域请求,服务器端返回的是符合js语法的函数调用,函数的形参即数据
1.2 CORS跨域资源共享,需要服务器端进行配置
//express中配置corsconst cors = require("cors")app.use(cors())1.3 服务器代理(1) 通过在vue.config.js中配置proxy实现跨域 (开发阶段)
(2) 通过Nginx服务器代理实现跨域 (生产阶段)
## 2. Nginx服务器代理
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 可以实现vue项目中的跨域请求
我们真实的服务器不应该直接暴露到公网上去,否则更加容易泄露服务器的信息,也更加容易受到攻击。一个比较“平民化”的方案是使用Nginx反向代理它。
一台具有公网的Nginx服务器可以代理和它能进行内网通信的真实的服务器。让我们的服务器不直接对外暴露,增加其抗风险能力。
2.1 下载http://nginx.org/en/download.html| nginx/Windows-1.10.3 |
2.2 nginx在windows系统中如何启动、重启、停止在nginx文件夹中打开cmd
(如果是powershell不能直接使用cmd命令: 输入cmd回车即可)
//基本命令操作:nginx -v //查看nginx的版本号start nginx //启动nginxnginx -s stop //快速停止或关闭nginxnginx -s quit //正常停止或关闭nginxnginx -s reload //配置文件nginx.conf修改重装载命令2.3 启动nginxstart nginx 在地址栏输入: localhost:80即可打开默认首页
2.4 修改前端vue项目中的url在config.js中修改baseURL
//原设置baseURL: 'http://localhost:3000'//修改为baseURL: '/api'2.5 打包vue项目npm run build 把dist文件夹放在nginx根目录
2.6 修改nginx的 conf/nginx.confserver { listen 80; #nginx服务器端口 server_name localhost; #nginx域名 location / { root dist; #首页所在文件夹 index index.html index.htm; } location /api/ { proxy_pass http://127.0.0.1:3000; # 将/api/开头的url转向该域名 rewrite "^/api/(.*)$" /$1 break; 最终url中去掉/api前缀 } }2.7 重载nginx,浏览nginx -s reload
3000端口的服务器要打开
2.8 vue中history模式的服务器端配置vue中设置history模式
const router = new VueRouter({ base: process.env.BASE_URL, routes, mode: 'history'})修改nginx的conf/nginx.conf
try_files $uri $uri/ /index.html;代码如下:
server { listen 80; #nginx服务器端口 server_name localhost; #nginx域名 location / { root dist; #首页所在文件夹 index index.html index.htm; try_files $uri $uri/ /index.html; } location /api/ { proxy_pass http://127.0.0.1:3000; # 将/api/开头的url转向该域名 rewrite "^/api/(.*)$" /$1 break; //最终url中去掉/api前缀 }}上一篇:nddeagnt.exe - nddeagnt是什么进程 有什么用
下一篇:dvdlauncher.exe是什么进程 dvdlauncher是病毒吗(windows dvd maker是什么)
友情链接: 武汉网站建设