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 相关文章推荐
使用 Apache 反向代理的设置技巧
Jan 18 Servers
Apache Pulsar集群搭建部署详细过程
Feb 12 Servers
Apache Pulsar结合Hudi构建Lakehouse方案分析
Mar 31 Servers
Linux、ubuntu系统下查看显卡型号、显卡信息详解
Apr 07 Servers
Linux中如何安装并部署Redis
Apr 18 Servers
Tomcat项目启动失败的原因和解决办法
Apr 20 Servers
Window server 2012 R2 AD域的组策略相关设置
Apr 28 Servers
Windows server 2012 配置Telnet以及用法详解
Apr 28 Servers
Apache SeaTunnel实现 非CDC数据抽取
May 20 Servers
Win2008系统搭建DHCP服务器
Jun 25 Servers
解决Git推送错误non-fast-forward的方法
Jun 25 Servers
Linux中各个目录的作用与内容
Jun 28 Servers
nginx实现发布静态资源的方法
Nginx中break与last的区别详析
nginx网站服务如何配置防盗链(推荐)
本地通过nginx配置反向代理的全过程记录
nginx优化的六点方法
Mar 31 #Servers
Nginx优化服务之网页压缩的实现方法
Nginx 负载均衡是什么以及该如何配置
Mar 31 #Servers
You might like
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
php限制ip地址范围的方法
2015/03/31 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
2016/02/22 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
jQuery下的动画处理总结
2013/10/10 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
详解JavaScript事件循环机制
2018/09/07 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
js中的面向对象之对象常见创建方法详解
2019/12/16 Javascript
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
Python中用max()方法求最大值的介绍
2015/05/15 Python
python 实现删除文件或文件夹实例详解
2016/12/04 Python
Python yield 使用方法浅析
2017/05/20 Python
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
python实现多进程通信实例分析
2019/09/01 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
2020/04/17 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
Html5移动端弹幕动画实现示例代码
2018/08/27 HTML / CSS
伦敦一家西班牙童装精品店:La Coqueta
2018/02/02 全球购物
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
《听鱼说话》教学反思
2014/02/15 职场文书
新学期开学演讲稿
2014/05/24 职场文书
销售提升方案
2014/06/07 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
医院消毒隔离制度
2015/08/05 职场文书
汽车车尾标语大全
2015/08/11 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
Win10系统下配置Java环境变量
2021/06/13 Java/Android
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers