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
nginx处理http请求实现过程解析
Mar 31 Servers
Nginx下配置Https证书详细过程
Apr 01 Servers
Rhit高效可视化Nginx日志查看工具
Nov 01 Servers
教你使用Jenkins集成Harbor自动发布镜像
Apr 03 Servers
从零开始在Centos7上部署SpringBoot项目
Apr 07 Servers
windows系统安装配置nginx环境
Jun 28 Servers
Nginx配置使用详解
Jul 07 Servers
kubernetes集群搭建Zabbix监控平台的详细过程
Jul 07 Servers
nginx七层负载均衡配置详解
Jul 15 Servers
nginx访问报403错误的几种情况详解
Jul 23 Servers
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
Aug 14 Servers
nginx实现发布静态资源的方法
Nginx中break与last的区别详析
nginx网站服务如何配置防盗链(推荐)
本地通过nginx配置反向代理的全过程记录
nginx优化的六点方法
Mar 31 #Servers
Nginx优化服务之网页压缩的实现方法
Nginx 负载均衡是什么以及该如何配置
Mar 31 #Servers
You might like
php读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
php生成动态验证码gif图片
2015/10/19 PHP
PHP使用Mysqli类库实现完美分页效果的方法
2016/04/07 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
完美实现bootstrap分页查询
2015/12/09 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
JS实现漂亮的时间选择框效果
2016/08/20 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
JavaScript中清空数组的三种方式
2017/03/22 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
javascript实现页面的实时时钟显示示例
2020/08/06 Javascript
[14:20]刀塔大凶女神互压各路奇葩屌丝
2014/05/16 DOTA
[03:59]DOTA2英雄梦之声_第07期_水晶室女
2014/06/23 DOTA
跟老齐学Python之list和str比较
2014/09/20 Python
Python多线程和队列操作实例
2015/06/21 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
python装饰器的特性原理详解
2019/12/25 Python
python获取依赖包和安装依赖包教程
2020/02/13 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
一文读懂Python 枚举
2020/08/25 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
初中生自我鉴定
2014/02/04 职场文书
党建工作整改措施
2014/10/28 职场文书
考研英语辞职信
2015/05/13 职场文书
初中政治教学工作总结
2015/08/13 职场文书
队列队形口号
2015/12/25 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python