Vue + SpringBoot + nginx:(1)开发环境npm run dev下,通过nginx解决前后端分离造成的跨域问题

  前面看了很多的博客,在使用nginx进行反向代理的时候,都是讲通过 build 后...但是,我只是希望在 npm run dev 的时候进行 nginx 的反向代理,因为我只是在开发环境啊!!! build 个锤子...

  前提:后端环境已经搭建完成、前端页面可通过npm进行启动、下载好nginx

  前端页面接口:8081(这个端口可以通过配置文件自定义)

 

  服务端接口:8902

  nginx 包

  大体思路:

    1.nginx 上配置好监听的端口号(这样前端页面访问端口就能被检测到)、代理到服务端的地址;

    2.前端页面配置文件,配置代理到 nginx 监听端口;

    3.启动nginx(可以打开任务管理器,检查nginx是否启动,避免配置文件写错);

  

  一.配置前端项目文件 config/index.js

    需要注意是 dev 对象下面的相关属性.....

module.exports = {

    dev: {

      // Paths

      assetsSubDirectory: ‘static‘,

      assetsPublicPath: ‘/‘,

      proxyTable: {

      ‘/api‘:{//配置代理地址,前端请求的所有接口都需要带的前缀

        target:‘http://localhost:80‘,

        changeOrigin:true,//是否进行跨域

        secure: false,

        pathRewrite:{//我使用了 nginx 作为反向代理,所以,需要把前缀替换为nginx 配置中的代理路径

          ‘^/api‘:‘/e‘,//服务器请求地址中,若没有/api ,则替换为 /

        }

      }

    },

      // Various Dev Server settings

      host: ‘localhost‘, // can be overwritten by process.env.HOST

      port: 8081, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined

      autoOpenBrowser: false,

      errorOverlay: true,

      notifyOnErrors: true,

      poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-

      /**

      * Source Maps

      */

      // https://webpack.js.org/configuration/devtool/#development

      devtool: ‘cheap-module-eval-source-map‘,

      // If you have problems debugging vue-files in devtools,

      // set this to false - it *may* help

      // https://vue-loader.vuejs.org/en/options.html#cachebusting

      cacheBusting: true,

      cssSourceMap: true

    },

    .......

    .......

}

  二.配置 nginx 包下面的 conf/nginx.conf

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    #前端页面服务器
    server {
        #监听端口和域名
        listen       80;
        server_name  localhost;

        #添加头部信息
        proxy_set_header Cookie $http_cookie;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        #添加拦截路径和代理地址
        location /e/ {
               proxy_pass http://localhost:8902/;  #注意:使用代理地址时末尾记得加上斜杠"/"。
        }
    }
}

  三.配置完成,测试访问

    

   未启动nginx:

   启动nginx:请求完成,并查询到了数据

 Over....

原文地址:https://www.cnblogs.com/mysouler/p/10818612.html

时间: 2024-08-28 22:47:20

Vue + SpringBoot + nginx:(1)开发环境npm run dev下,通过nginx解决前后端分离造成的跨域问题的相关文章

解决vue+springboot前后端分离项目,前端跨域访问sessionID不一致导致的session为null问题

问题: 前端跨域访问后端接口, 在浏览器的安全策略下默认是不携带cookie的, 所以每次请求都开启了一次新的会话. 在后台打印sessionID我们会发现, 每次请求的sessionID都是不同的, 既然每次请求都是一个新的会话, 那我们去获取session的时候自然就是null了. 解决办法如下: 环境: vue 2.0 springboot 2.1.6 一.前端部分 1.  在vue引入axios的位置添加以下代码 import axios from 'axios' axios.defau

vue项目更换目录后执行npm run dev 就报错(新手进)

在我们搭建好一个VUE项目的环境后,觉得这个项目存放的位置不好,想移动一下,但是移动后我们发现执行npm run dev就会报下面的错误: 明明只是移动了一下位置,就报错,实在是太恶心了. 但是只要我们细心看一下错误:,然后去node_modules文件夹下去找这个包,会发现这个包是这样的 我们发现:这只是一个快捷方式,根本就不是我们下载的module 如果只有一个是这样,我们直接使用npm install semver就OK了,但是很遗憾,这样的东西不是一个而是几百个: 无语...总不能一个个

springBoot 解决前后端分离项目中跨越请求,同源策略

今天在做项目的过程,采用前后端分离技术的时遇到采用ajax请求无法访问后台接口,按F12,查看浏览器运行状态时,报如下错误 为了解决浏览的同源策略,就必须了解什么是同源策略. 1.什么是同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现. 而所谓同源是指,域名,协议,端口相同.如静态资源所在的服务器和后端接口所在服

nginx配置反向代理解决前后端分离跨域问题

摘自<AngularJS深度剖析与最佳实践>P132 nginx配置文件如下: server { listen 80; server_name your.domain.name; location / { # 把跟路径下的请求转发给前端工具链(如gulp)打开的开发服务器 # 如果是产品环境,则使用root等指令配置为静态文件服务器 proxy_pass http://localhost:5000/; } location /api/ { # 把 /api 路径下的请求转发给真正的后端服务器

测试人员需要了解一下开发人员一直在讲的前后端分离

最近做的一个前后端分离的项目,来了补充一下前后端分离的知识点,发现这篇文章特别好,收藏起来, 这篇文章有点长,哈哈 作者:偏头痛杨 来源:https://blog.csdn.net/piantoutongyang 一.前戏 前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务架构.多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基

基于Vue的前后端分离项目实践

一.为什么需要前后端分离 1.1什么是前后端分离  前后端分离这个词刚在毕业(15年)那会就听说过,但是直到17年前都没有接触过前后端分离的项目.怎么理解前后端分离?直观的感觉就是前后端分开去做,即功能和职责上的一种划分,前端负责页面的渲染,部分页面交互的逻辑,然后通过网络请求与后端进行数据的交互:后端则着重关注业务逻辑的处理,直接操控数据库. 1.2前后端未分离前(1)jsp + servlet 开发模式: JSP页面:负责视图层的渲染及交互,内部可以嵌入java 代码,在某些场景下开发起来比

前后端分离开发与跨域问题

前后端分离 传统开发方式 曾几何时,JSP和Servlet为Java带来了无限风光,一时间大红大紫,但随着互联网的不断发展,这样的开发方式逐渐显露其弊端,在移动互联网炙手可热的今天,应用程序对于后台服务的要求发生了巨大的变化; 传统的项目开发与交互流程: 在传统的web开发中,页面展示的内容以及页面之间的跳转逻辑,全都由后台来控制,这导致了前后端耦合度非常高,耦合度高则意味着,扩展性差,维护性差,等等问题 传统开发的问题如下: 耦合度高 调试麻烦,出现问题时往往需要前后台一起检查 开发效率低,前

前后端分离开发,基于SpringMVC符合Restful API风格Maven项目实战(附完整Demo)!

摘要: 本人在前辈<从MVC到前后端分离(REST-个人也认为是目前比较流行和比较好的方式)>一文的基础上,实现了一个基于Spring的符合REST风格的完整Demo,具有MVC分层结构并实现前后端分离,该项目体现了一个具有REST风格项目的基本特征,即具有统一响应结构. 前后台数据流转机制(HTTP消息与Java对象的互相转化机制).统一的异常处理机制.参数验证机制.Cors跨域请求机制以及鉴权机制.此外,该项目的完整源码可移步到我的Github参考:RestSpringMVCDemo.喜欢

VUE-CLI Vue安装及开发,npm run build无法查看项目的问题

Vue-cli 本地安装vue项目 需要安装node.js,用node命令行npm的方式安装Vue 步骤: 1.进入项目地址安装 npm install vue-cli -g 2.初始化一下 ESlink e2e等是测试工具,经常会报一些vue语法等错误,有时会比较麻烦,可以关闭 3.再安装依赖 npm install npm安装建议挂VPN,不然很慢而且容易出错,不能挂VPN的话可以用cnpm的方式安装国内镜像 4.安装成功直接打开了首页 5.运行 npm run dev 6.项目编译 npm