项目开发中用以解决跨域的最佳方案。


Vue

  vue-cli采用http-proxy-middleware插件来进行代理服务器的各项配置。只需在config/index.js文件中利用预留项proxyTable设置地址映射表。

  proxyTable: {'/api': { // '/api' 转发匹配接口target: 'PATH', // 转发地址pathRewrite: {'^/api': '/'}}}

Nginx

  代理转发

  Nginx反向代理会简单一点,只需在当前服务下加入以下代码块即可。

  location /API { // /API 转发匹配的接口proxy_pass  PATH; // PATH 服务器地址}

  代理转发+按需加载资源

  server {listen       80; // 端口号server_name  192.168.0.66; // 项目IPset $mobile_rewrite do_not_perform;  if ($http_user_agent ~* "(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino") {  set $mobile_rewrite perform;  }  if ($http_user_agent ~* "^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-)") {  set $mobile_rewrite perform;  }  if ($http_cookie ~ 'gotopc=true') {  set $mobile_rewrite do_not_perform;  }  location /API { // /API 转发匹配的接口proxy_pass  PATH; // PATH 服务器地址}location / { // 资源加载root html/pc;  // 默认加载PC端资源if ($mobile_rewrite = perform) {  // 移动端条件判断root html/mobile;  // 加载移动端资源} if (!-e $request_filename) { // Vue项目防404rewrite ^/(.*) /index.html last; // 跳转至首页break;}}}

Vue项目与Nginx反向代理相关推荐

  1. nginx反向代理二级目录 导致vue项目静态文件css js访问不到

    2022年5月30日19:06:00 nginx vue项目配置 server {listen 9888;server_name 127.0.0.1;error_log /data/log/nginx ...

  2. 使用Nginx反向代理将自己的域名指向自己所发布的项目

    之前做了一个个人博客,但是没有将域名解析,所以访问我的博客是要用我服务器的ip地址进行访问,虽然说不是很安全,但是我一个学生,估计也不会有什么人来搞我的服务器,不过自己访问我的博客的时候看着那网站心里 ...

  3. Vue Nginx反向代理配置 解决生产环境跨域

    Vue本地代理举例: module.exports = {publicPath: './',devServer: {proxy: {'/api': {target: 'https://movie.do ...

  4. Nginx反向代理及域名解析访问本地项目

    ···目录··········································· 终极目标 明确思路 域名解析 破解域名 Nginx反向代理解决端口问题 完成测试 注意事项 终极目标 ...

  5. 精灵商场项目(五)--虚拟机Linux使用+Nginx反向代理

    文章目录 一.虚拟机Linux使用 1.1 Linux 介绍和使用 1.2 虚拟机配置 1.3 检查是否正常连接 1.4 虚拟机克隆 1.5 LinuxIP划分和链接 1.6 Xshell 1.6.1 ...

  6. 在一台win10系统的电脑里安装虚拟机运行CentOS7并实现nginx反向代理从而用域名访问本机的微服务项目

    在虚拟机里的CentOS7安装配置nginx,之前需要一些依赖库作为编译安装的条件,具体作用和命令详情跳转我之前的博客. 安装并使用VMware-workstation-full-15.5.0安装Ce ...

  7. nginx反向代理vue访问时浏览器加载失败,出现 ERR_CONTENT_LENGTH_MISMATCH 问题

    问题说明: 测试机上部署了一套业务环境,nginx反向代理tomcat,在访问时长时间处于加载中,十分缓慢! 通过浏览器调试(F12键->Console),发现有错误ERR_CONTENT_LE ...

  8. 通过Nginx反向代理,实现远程调试本机代码

    作者:mokeyWie segmentfault.com/a/1190000021453331 背景 现在公司项目都是前后端分离的方式开发,有些时候由于某些新需求开发或者 bug 修改,想要让前端直接 ...

  9. 通过nginx反向代理解决跨域

    先写一个发送跨域请求的页面index.html <html> <head><title></title> </head> <body& ...

最新文章

  1. 解决从本地文件系统上传到HDFS时的权限问题
  2. 【Android 应用开发】Android中的回调Callback
  3. Docker核心原理之namespace
  4. JS基础_使用工厂方法创建对象(了解下就行了,用的不多)
  5. 【Docker】docker-compose安装
  6. python一维列表的定义_数据结构-Python 列表(List)
  7. SQL SERVER作业的Schedules浅析
  8. curl 增加header_libcurl增加HTTP header 和 POST之后获取返回数据
  9. 去掉viewstate保持在页面中的一大串字符的方法
  10. ibator使用心得
  11. 【BZOJ3759】【cogs1603】饥饿游戏,博弈
  12. Python使用property函数和使用@property装饰器定义属性访问方法的异同点分析
  13. 自从上了 Prometheus 监控,睡觉真香!
  14. Linux系统目录的作用你了解吗?
  15. 计算机IP掩码的与运算,计算机IP地址与子网掩码如何进行AND运算
  16. python用的编程软件是什么,python编程软件用哪个好
  17. Windows XP_修改登录背景图案
  18. 利用管道检测技术成果对城市地下空洞进行筛查分析的探讨
  19. 第一周前端web学习记录
  20. 把PDF或图片的数据导入到SPSS中的方法

热门文章

  1. 程序员必会的计算机知识
  2. 用java语言编写的用户登入模块1
  3. 【数字IC】从零开始的Verilog SPI设计
  4. 百度大脑OCR技术加持白描App:让AI成为视障者的眼睛
  5. Power Rankings Seattle Seahawks leapfrog San Francisco 49ers
  6. 名编辑电子杂志大师教程 | 电脑版、手机版设置
  7. uniapp 小程序唤醒高德地图或腾讯地图进行导航
  8. 在IntelliJ IDEA中Tomcat的配置过程(全程详细图解)
  9. 周金平:因地制宜发展三大产业,提升品牌实施八项工程
  10. 练习:京东商城左侧导航栏_1