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简单配置多个server的方法
Mar 31 Servers
apache基于端口创建虚拟主机的示例
Apr 24 Servers
centos8安装nginx1.9.1的详细过程
Aug 02 Servers
总结高并发下Nginx性能如何优化
Nov 01 Servers
教你快速构建一个基于nginx的web集群项目
Nov 27 Servers
Consul在linux环境的集群部署
Apr 08 Servers
聊聊配置 Nginx 访问与错误日志的问题
May 25 Servers
使用Nginx+Tomcat实现负载均衡的全过程
May 30 Servers
永中文档在线转换预览基于nginx配置部署方案
Jun 10 Servers
使用 DataAnt 监控 Apache APISIX的原理解析
Jul 07 Servers
Zabbix对Kafka topic积压数据监控的解决方案
Jul 07 Servers
Nginx如何获取自定义请求header头和URL参数详解
Jul 23 Servers
nginx实现发布静态资源的方法
Nginx中break与last的区别详析
nginx网站服务如何配置防盗链(推荐)
本地通过nginx配置反向代理的全过程记录
nginx优化的六点方法
Mar 31 #Servers
Nginx优化服务之网页压缩的实现方法
Nginx 负载均衡是什么以及该如何配置
Mar 31 #Servers
You might like
php-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
phpMyAdmin安装并配置允许空密码登录
2015/07/04 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
javascript concat数组累加 示例
2009/09/03 Javascript
jquery 分页控件实现代码
2009/11/30 Javascript
JS实现随机数生成算法示例代码
2013/08/08 Javascript
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
2014/10/17 Javascript
JS onkeypress兼容性写法详解
2016/04/27 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
js常用DOM方法详解
2017/02/04 Javascript
react-native之ART绘图方法详解
2017/08/08 Javascript
sublime text配置node.js调试(图文教程)
2017/11/23 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
Vue.js 父子组件通信的十种方式
2018/10/30 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
Python实现可自定义大小的截屏功能
2018/01/20 Python
Python简易计算器制作方法代码详解
2019/10/31 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
波兰珠宝品牌:YES
2019/08/09 全球购物
个人简历自荐信
2013/12/05 职场文书
餐饮主管岗位职责
2013/12/10 职场文书
班会关于环保演讲稿
2013/12/29 职场文书
公司薪酬管理制度
2014/01/31 职场文书
人事经理岗位职责
2014/04/28 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
2014年路政工作总结
2014/12/10 职场文书
Redis Stream类型的使用详解
2021/11/11 Redis
Python中super().__init__()测试以及理解
2021/12/06 Python
详解Go语言中Get/Post请求测试
2022/06/01 Golang