Nginx配置反向代理解决跨域问题

article/2025/9/19 10:07:59

通过Nginx配置反向代理结果跨域问题

第一步:下载Nginx

一、下载

官网下载地址:http://nginx.org/en/download.html
我下载的版本:http://nginx.org/download/nginx-1.15.2.zip
(我也是参考网上的步骤,所以下载的不是最新版)

二、解压

将文件解压到本地地址(地址尽量不要出现中文)
在这里插入图片描述

三、启动

使用cmd进入nginx.exe所在文件夹下,并执行start nginx
(如果开启了window防火墙,点击允许访问)
在这里插入图片描述

四、测试

启动成功后,浏览器访问 localhost,即可看到Nginx 欢迎页
在这里插入图片描述
如果启动启动失败,可能是IIS占用了80端口,先往后看。

第二步:了解配置文件

一、nginx配置文件介绍

nginx配置文件:/nginx-1.15.2/conf/nginx.conf

配置文件组成

  • 全局快:
    从开始到events块之间的内容,主要设置一些影响nginx服务器整体运行的指令。
  • events块:
    events块涉及的指令主要影响nginx服务器与用户的网络连接。
  • http块:
    nginx服务器配置中最频繁的部分
    http块也分为http全局块和server块
    (我们要修改的部分也是这里的server块)

此处我只是简单说一下配置文件的组成,方便后文知道在哪里修改内容,具体知识点可自行去查相关资料

二、修改配置文件

通过编译软件或直接txt方式打开配置文件
(此处我是通过vscode打开的文件)
在这里插入图片描述
前文中启动失败的,找到http块下的server块,修改其中的端口号(比如改成8000),保存后重新启动nginx,然后再打开浏览器(localhost:8000)看看是否能访问到Nginx 欢迎页
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

反向代理

代理前

  • 前端页面
<template><div><el-input v-model="user.name" placeholder="请输入用户名"></el-input><el-input v-model="user.password" placeholder="请输入密码"></el-input><el-button @click="add">添加</el-button><el-button @click="all">获取</el-button></div>
</template><script>
export default {data () {return {user: {name: '',password: ''}};},methods: {add() {this.axios.post('http://localhost:9090/api/insert', this.user).then(res => {this.$message("添加成功")}).catch(err => {this.$message("添加失败:" + err)})},all() {this.axios.get('http://localhost:9090/api/all').then(res => {console.log(res);}).catch(err => {console.log(err);})}}
}
</script>

在这里插入图片描述

  • 数据接口
    在这里插入图片描述
    此时前端点击“获取”按钮,一定会出现跨域错误
    无法从8080端口获取9090端口的数据
    在这里插入图片描述

配置代理

在配置文件的http块下的server块中,删除/注释掉 location / 下的内容,配置成项目运行的地址,再添加 location /api 配置
此时的配置内容意思为,将http://127.0.0.1:8080和http://127.0.0.1:9090都代理到localhost:8000地址下,这样就不会有跨域的问题了
在这里插入图片描述

代理后

保存配置文件后,启动(start nginx)/重启(nginx -s reload )nginx

  • 前端页面
<template><div><el-input v-model="user.name" placeholder="请输入用户名"></el-input><el-input v-model="user.password" placeholder="请输入密码"></el-input><el-button @click="add">添加</el-button><el-button @click="all">获取</el-button></div>
</template><script>
export default {data () {return {user: {name: '',password: ''}};},methods: {add() {this.axios.post('http://localhost:8000/api/insert', this.user).then(res => { this.$message("添加成功")}).catch(err => {this.$message("添加失败:" + err)})},all() {this.axios.get('http://localhost:8000/api/all').then(res => {console.log(res);}).catch(err => {console.log(err);})}}
}
</script>

在这里插入图片描述
在这里插入图片描述
可以看到,此时的项目和数据都被代理到8000端口下了,点击“获取”按钮,就可以成功获取数据了
在这里插入图片描述

补充知识点

Nginx常用命令说明

命令说明
start nginx启动Nginx
nginx -s stop停用Nginx
nginx -s quit优雅的停用Nginx(处理完正在进行中请求后停用)
nginx -s reload重新加载配置,并优雅的重启进程

http://chatgpt.dhexx.cn/article/7pCNKLly.shtml

相关文章

Nginx配置跨域及解析

一、代码 先放上nginx配置代码 # 以代理百度地图api为例location /mymap/ {proxy_pass http://api.map.baidu.com/;# 配置跨域代理 add_header Access-Control-Allow-Origin $http_origin;add_header Access-Control-Allow-Methods GET,POST,OPTIONS…

nginx配置详解,nginx跨域问题

文章目录 前言更改hosts文件新增velocityerp.top.conf配置文件nginx配置header参数&#xff08;解决跨域&#xff09;,接口方配置nginx反向代理(解决跨域)&#xff0c;发送方配置nginx端口转发&#xff08;解决跨域&#xff09;nginx内部跳转nginx配置优先级详解 前言 本文介绍…

nginx 配置支持跨域

在nginx.conf文件内&#xff0c;server中加入以下内容 #允许跨域请求的域&#xff0c;*代表所有 add_header Access-Control-Allow-Origin *; #允许带上cookie请求 add_header Access-Control-Allow-Credentials true; #允许请求的方法&#xff0c;比如 GET/POST/PUT/DELETE a…

通过Nginx来解决跨域问题

Nginx跨域实现 首先大家要搞清楚什么是跨域&#xff0c;为什么会有跨域情况的出现。哪些情况属于跨域&#xff1f; 跨域&#xff1a;由于浏览器的同源策略&#xff0c;即属于不同域的页面之间不能相互访问各自的页面内容 注&#xff1a;同源策略&#xff0c;单说来就是同协议&a…

Nginx 解决跨域

项目准备 前端网站地址&#xff1a;http://localhost:8080 服务端网址&#xff1a;http://localhost:8081 确认服务端是没有处理跨域的&#xff0c;先用postman测试服务端接口是正常的 当前端网站8080去访问服务端接口时&#xff0c;就产生了跨域问题&#xff0c;那么如何解…

1 Nginx跨域配置

跨域问题在之前的单体架构开发中&#xff0c;其实是比较少见的问题&#xff0c;除非是需要接入第三方SDK时&#xff0c;才需要处理此问题。但随着现在前后端分离、分布式架构的流行&#xff0c;跨域问题也成为了每个Java开发必须要懂得解决的一个问题。 跨域问题产生的原因 产…

Nginx跨域配置

随着越来越多的项目走向了前后端分离&#xff0c;前端服务&#xff0c;需要访问到不同的后端地址&#xff0c;经常遇到跨域问题。本文主要介绍使用Nginx解决跨域问题。 1.什么是跨域 由于浏览器的同源策略&#xff0c;用来限制从一个源加载的文档或脚本与来自另一个源的资源进…

flyai中的dataset对象

Help on Dataset in module flyai.dataset object:class Dataset(builtins.object) | Methods defined here: | | __init__(self, epochs5, batch32, val_batch32) | :param epochs: 训练的轮次&#xff0c;最大不超过100 | :param batch: 训练的批次大小&#xff…

FlyAI资讯:Uber正式开源分布式机器学习平台:Fiber

摘要&#xff1a;在过去的几年中&#xff0c;计算机不断增强的处理能力推动了机器学习的进步。算法越来越多地利用并行性&#xff0c;并依赖分布式训练来处理大量数据。然而&#xff0c;随之而来的是增加数据和训练的需求&#xff0c;这对管理和利用大规模计算资源的软件提出了…

FlyAI小课堂:Python机器学习笔记:Logistic Regression

Logistic回归公式推导和代码实现 1&#xff0c;引言 logistic回归是机器学习中最常用最经典的分类方法之一&#xff0c;有人称之为逻辑回归或者逻辑斯蒂回归。虽然他称为回归模型&#xff0c;但是却处理的是分类问题&#xff0c;这主要是因为它的本质是一个线性模型加上一个映…

FlyAI竞赛:图片颜值打分趣味赛

人工智能学习离不开实践的验证&#xff0c;推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛&#xff0c;以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例&#xff0c;支持算法能力变现以及快速的…

FlyAI小课堂:Tensorflow-分布式训练

人工智能学习离不开实践的验证&#xff0c;推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛&#xff0c;以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例&#xff0c;支持算法能力变现以及快速的…

FlyAI小课堂:【文本分类-中文】textRNN

摘要: 随着深度学习的快速发展&#xff0c;人们创建了一整套神经网络结构来解决各种各样的任务和问题。在英文分类基础上&#xff0c;中文文本分类的处理也同样重要... 人工智能学习离不开实践的验证&#xff0c;推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛&#x…

FlyAI小课堂:【文本分类-中文】textCNN

摘要: 随着深度学习的快速发展&#xff0c;人们创建了一整套神经网络结构来解决各种各样的任务和问题。在英文分类基础上&#xff0c;中文文本分类的处理也同样重要... 人工智能学习离不开实践的验证&#xff0c;推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛&#x…

FlyAI人工智能社区参赛指南—用户体验版

Fly-AI竞赛服务平台 flyai.com 在开始学习之前推荐大家可以多在 FlyAI竞赛服务平台多参加训练和竞赛&#xff0c;以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例&#xff0c;支持算法能力变现以…

FlyAI资讯:GPT-3的威力,助力AI领域

摘要&#xff1a;大概一个月之前&#xff0c;史上最巨无霸NLP模型GPT-3问世。当时它向世界展示的能力是&#xff0c;“不仅会写短文&#xff0c;而且写出来的作文挺逼真的&#xff0c;几乎可以骗过人类&#xff0c;可以说几乎通过了图灵测试。”可能是因为它的前一代模型GPT-2也…

FlyAI赛题预告:时间序列初学者指南

近期&#xff0c;FlyAI服务竞赛平台将上线时间序列相关赛题&#xff0c;看到此文的童鞋们可以多多关注下&#xff1b;推荐大家可以多在FlyAI竞赛服务平台多参加训练和竞赛&#xff0c;以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。…

FlyAI资讯:人工智能的前世今生

摘要: 现代电子产品和设备在诸如通信 、娱乐 、安全和医疗保健等许多方面改善了我们的生活质量 &#xff0c;这主要是因为现代微电子技术的发展极大地改变了人们的日常工作和互动方式。在过去几十年中&#xff0c;摩尔定律一直是通过不断缩小芯 … 人工智能学习离不开实践的验…

FlyAI小课堂:Tensorflow基操

人工智能学习离不开实践的验证&#xff0c;推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛&#xff0c;以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例&#xff0c;支持算法能力变现以及快速的…

FlyAI资讯:台积电布局新存储技术

摘要&#xff1a;近年来&#xff0c;在人工智能&#xff08;AI&#xff09;、5G等推动下&#xff0c;以MRAM&#xff08;磁阻式随机存取存储器&#xff09;、铁电随机存取存储器 (FRAM)、相变随机存取存储器&#xff08;PRAM&#xff09;&#xff0c;以及可变电阻式随机存取存储…