Nginx解决前端访问资源跨域问题的方法详解


Posted in Servers onMarch 31, 2021

被前端跨域问题折磨快2天后,终于用ngnx的方式解决了,所以在此总结下。

该篇只探讨如何用Ngnx解决跨域问题,对于原理不作讨论。

1、首先介绍Windows环境下Nignx的相关命令操作

nginx常用命令:

  • 验证配置是否正确: nginx -t
  • 查看Nginx的版本号:nginx -V
  • 启动Nginx:start nginx
  • 快速停止或关闭Nginx:nginx -s stop
  • 正常停止或关闭Nginx:nginx -s quit
  • 配置文件修改重装载命令:nginx -s reload

在停止ngix后,会自动删除/logs目录下的nginx.pid

  • 可以使用命令nginx -c conf/nginx.conf 重新创建 或者 再次启动nginx

查看nignx 监听端口 是否启动成功

  • netstat -ano | findstr 端口号

解决关闭nignx后 端口仍在监听中

1、netstat -ano | findstr 端口号 #获取到PID

2、tasklist | findstr "PID" #命令找到nginx进程信息

3、taskkill /f /t /im nginx.exe #结束nginx进程

2、介绍如何配置Nignx 解决跨域问题

前端ip端口号:http://localhost:8080/

后端ip端口号:http://localhost:8082/

现在我们在不做跨域设置时,前端请求如下

uni.request({
  url:'http://localhost:8082/ApiController/test',
  success:(res)=>{
  console.log(res.data)
  },
})

访问地址:'http://localhost:8082/ApiController/test',就会出现

Nginx解决前端访问资源跨域问题的方法详解

那么我们进行Nignx配置

编辑 /config/nginx.conf此文件

1)添加头信息,在nginx.conf配置文件http块中添加跨域访问配置

add_header Access-Control-Allow-Origin *; //允许所有域名跨域访问代理地址
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET; //跨域请求访问请求方式,

2)设置反向代理

server {
  listen  80; #配置nignx的监听端口
  server_name localhost; #配置nignx的监听地址
  location /ApiController{ #监听地址 以/ApiController开头的地址
   proxy_pass http://localhost:8082; #转发地址
  }
}

此时配置后我们前端访问url

http://localhost:8082/ApiController/test 应修改为http://localhost:80/ApiController/test

#此时监听

以localhost为域名

以80为端口

以/ApiController为地址开头

才会进行地址转发

uni.request({
   url:'http://localhost:80/ApiController/test',
   success:(res)=>{
   console.log(res.data)
   },
})

结果:(访问成功)

Nginx解决前端访问资源跨域问题的方法详解

总结

到此这篇关于Nginx解决前端访问资源跨域问题的文章就介绍到这了,更多相关Nginx解决前端访问资源跨域内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
nginx网站服务如何配置防盗链(推荐)
Mar 31 Servers
windows下快速安装nginx并配置开机自启动的方法
May 11 Servers
Nginx下SSL证书安装部署步骤介绍
Dec 06 Servers
nginx负载功能+nfs服务器功能解析
Feb 28 Servers
关于Nginx中虚拟主机的一些冷门知识小结
Mar 03 Servers
Nginx配置根据url参数重定向
Apr 11 Servers
Windows Server 2012配置DNS服务器的方法
Apr 29 Servers
排查Tomcat进程假死的问题
May 06 Servers
基于docker安装zabbix的详细教程
Jun 05 Servers
Zabbix对Kafka topic积压数据监控的问题(bug优化)
Jul 07 Servers
码云(gitee)通过git自动同步到阿里云服务器
Dec 24 Servers
nginx实现发布静态资源的方法
Nginx中break与last的区别详析
nginx网站服务如何配置防盗链(推荐)
本地通过nginx配置反向代理的全过程记录
nginx优化的六点方法
Mar 31 #Servers
Nginx优化服务之网页压缩的实现方法
Nginx 负载均衡是什么以及该如何配置
Mar 31 #Servers
You might like
php str_pad 函数使用详解
2009/01/13 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
PHP小技巧之函数重载
2014/06/02 PHP
DOM和XMLHttpRequest对象的属性和方法整理
2012/01/04 Javascript
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
Node.js系列之连接DB的方法(3)
2019/08/30 Javascript
javascript实现简单打字游戏
2019/10/29 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
python类参数self使用示例
2014/02/17 Python
python求pi的方法
2014/10/08 Python
python使用Matplotlib画条形图
2020/03/25 Python
python3 打开外部程序及关闭的示例
2018/11/06 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
Book Depository亚太地区:一家领先的国际图书零售商
2019/05/05 全球购物
会展中心部门工作职责
2013/11/27 职场文书
工厂仓管员岗位职责
2014/01/01 职场文书
运动会解说词200字
2014/02/06 职场文书
2014厂务公开实施方案
2014/02/17 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
小学生安全教育广播稿
2014/10/20 职场文书
python 标准库原理与用法详解之os.path篇
2021/10/24 Python
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL
Python if else条件语句形式详解
2022/03/24 Python