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实现反向代理
Sep 20 Servers
Nginx的rewrite模块详解
Mar 31 Servers
nginx基于域名,端口,不同IP的虚拟主机设置的实现
Mar 31 Servers
nginx 防盗链防爬虫配置详解
Mar 31 Servers
Nginx本地目录映射实现代码实例
Mar 31 Servers
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
Mar 31 Servers
Nginx下SSL证书安装部署步骤介绍
Dec 06 Servers
Nginx中使用Lua脚本与图片的缩略图处理的实现
Mar 18 Servers
nginx配置限速限流基于内置模块
May 02 Servers
Windows10安装Apache2.4的方法步骤
Jun 25 Servers
nginx之内存池的实现
Jun 28 Servers
Linux中各个目录的作用与内容
Jun 28 Servers
nginx实现发布静态资源的方法
Nginx中break与last的区别详析
nginx网站服务如何配置防盗链(推荐)
本地通过nginx配置反向代理的全过程记录
nginx优化的六点方法
Mar 31 #Servers
Nginx优化服务之网页压缩的实现方法
Nginx 负载均衡是什么以及该如何配置
Mar 31 #Servers
You might like
php中实现字符串翻转的方法
2017/02/22 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
jquery tab插件精简版分享
2011/09/10 Javascript
Js-$.extend扩展方法使方法参数更灵活
2013/01/15 Javascript
js判断选择时间不能小于当前时间的示例代码
2013/09/24 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
JavaScript多线程详解
2015/08/12 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
2016/01/08 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
2016/04/01 Javascript
JavaScript类的写法
2016/09/17 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
利用hasOwnProperty给数组去重的面试题分享
2018/11/05 Javascript
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
在python里从协程返回一个值的示例
2019/02/19 Python
python实现websocket的客户端压力测试
2019/06/25 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
Python如何根据时间序列数据作图
2020/05/12 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
班会关于环保演讲稿
2013/12/29 职场文书
房屋转让协议书
2014/04/11 职场文书
小摄影师教学反思
2014/04/27 职场文书
银行实习推荐信
2015/03/27 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
给男朋友的道歉短信
2015/05/12 职场文书
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS
详解flex:1什么意思
2022/07/23 HTML / CSS
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技