Nginx反向代理实现Vue跨域的示例

 更新时间:2023年06月01日 10:27:51   作者:fkjavaer  
本文主要介绍了Nginx反向代理实现Vue跨域的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.场景

项目前后端分离,前端项目使用vue框架书写,在请求后端接口时,由于服务运行在不同的服务器,就会出现跨域问题。 示例:

运行环境:Windows,

前端项目的项目地址为:192.168.1.2:8082,

后端项目的项目地址为:192.168.1.3:8083, 由于ip地址不同,肯定会存在跨域问题

2.解决方法

(1) 后端配置跨域,如下是springboot的配置

public class TestApplication implements WebMvcConfigurer {
    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }
    @Override
    protected void addCorsMappings(CorsRegistry registry) {
        // 解决跨域问题
        registry.addMapping("/**")
                .allowCredentials(true)
                .allowedHeaders("*")
                .allowedOrigins("*")
                .allowedMethods("*")
                .maxAge(3600);
        super.addCorsMappings(registry);
    }
}

但是在复杂请求时(带自定义的请求头参数),由于浏览器的自检机制,会先发送一次options请求,这无疑会增加服务器的负担,这就很烦,那么怎么解决这个问题呢?马上揭晓答案

(2) 使用nginx进行反向代理,彻底解决跨域问题,再也不用担心options请求了

第一步:下载nginx并解压

第二步,打开conf目录下的nginx.conf文件,找到以下代码块

(1)nginx配置文件基本参数的释义

server {
		listen  8085;							// 我们要监听的端口(可以是没有被占用的任意端口号)
		server_name 192.168.1.1;				// 你的服务器ip地址
		location /api {							// 要代理的路径,这个是指以api开头
			proxy_pass http://127.0.0.1:8082/;	// 代理指向的ip地址以及端口号
		}
}

(2)上面我们说到前端的项目地址为192.168.1.2:8082,那么我们实际就可以这样来配置

server {
	listen  8085;									// 我们要监听的端口(可以是没有被占用的任意端口号)
		server_name 192.168.1.2;					// 你的服务器ip地址
		location / {								// 代理/开头的路径
			proxy_pass http://192.168.1.2:8082/;	// 代理指向的ip地址以及端口号,切记加上http
		}
		location /api {								//  代理api开头的路径
			proxy_pass http://192.168.1.3:8083/;	//	指向后端接口的IP地址加端口号
		}
}

(3)点击nginx.exe将其启动

这样我们在访问http://192.168.1.2:8085的时候,就会打开你的前端项目页面,在请求接口时,需要在前端项目将url改为例如http://192.168.1.2:8085/api/user/login。这样就会将请求的接口地址带到http://192.168.1.3:8083/user/login上,可以发现,我们前端项目的域名和请求后端接口的域名都是192.168.1.2:8085,这样就不会存在跨域问题了。

到此这篇关于Nginx反向代理实现Vue跨域的示例的文章就介绍到这了,更多相关Nginx反向代理Vue跨域内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx+Windows搭建域名访问环境的操作方法

    Nginx+Windows搭建域名访问环境的操作方法

    这篇文章主要介绍了Nginx搭建域名访问环境,包括nginx配置文件的相关介绍及对nginx配置文件的分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Nginx访问日志access_log配置及信息详解(推荐)

    Nginx访问日志access_log配置及信息详解(推荐)

    当你设置日志级别成debug,如果你在调试一个在线的高流量网站的话,你的错误日志可能会记录每个请求的很多消息,这样会变得毫无意义,下面小编给大家介绍Nginx访问日志access_log配置及信息详解,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • 详解通过Nginx部署Django(基于ubuntu)

    详解通过Nginx部署Django(基于ubuntu)

    这篇文章主要介绍了详解通过Nginx部署Django(基于ubuntu),Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式,有兴趣的可以了解一下。
    2017-01-01
  • nginx通过location配置代理的原理和实现方式

    nginx通过location配置代理的原理和实现方式

    这篇文章主要介绍了nginx通过location配置代理的原理和实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • 解决国内k8s的ingress-nginx镜像无法正常pull拉取问题

    解决国内k8s的ingress-nginx镜像无法正常pull拉取问题

    本文主要介绍了解决国内k8s的ingress-nginx镜像无法正常pull拉取问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • Nginx proxy_set_header参数设置

    Nginx proxy_set_header参数设置

    本文主要介绍了Nginx proxy_set_header参数设置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • nginx上传文件大小报错500的解决办法

    nginx上传文件大小报错500的解决办法

    这篇文章主要介绍了nginx上传文件大小报错解决办法的相关资料,小文件可以提交,大文件会报500内部错误,这里提供解决办法,需要的朋友可以参考下
    2017-08-08
  • Ubuntu16.04.1 安装Nginx的方法

    Ubuntu16.04.1 安装Nginx的方法

    这篇文章主要介绍了Ubuntu16.04.1 安装Nginx的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-01-01
  • Nginx多个前端服务配置方式详解

    Nginx多个前端服务配置方式详解

    这篇文章主要介绍了Nginx多个前端服务配置方式,主要包括多个location配置,多个server配置,配置方式本文给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2022-03-03
  • Nginx中404页面的配置及AJAX请求返回404页面的方法

    Nginx中404页面的配置及AJAX请求返回404页面的方法

    404是请求页面不存在的错误代码,在Nginx中有时处理jQuery中的ajax方法虽然能返回404页面但错误代码却返回200,针对此问题我们具体来看一下Nginx中404页面的配置及AJAX请求返回404页面的方法
    2016-05-05

最新评论