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 相关文章推荐
win10安装配置nginx的过程
Mar 31 Servers
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
Mar 31 Servers
详解nginx进程锁的实现
Jun 14 Servers
nginx的zabbix 5.0安装部署的方法步骤
Jul 16 Servers
Nginx源码编译安装过程记录
Nov 17 Servers
苹果M1芯片安装nginx 并且部署vue项目步骤详解
Nov 20 Servers
Apache Pulsar集群搭建部署详细过程
Feb 12 Servers
使用Docker容器部署rocketmq单机的全过程
Apr 03 Servers
基于Apache Hudi在Google云构建数据湖平台的思路详解
Apr 07 Servers
Windows Server 2019 配置远程控制以及管理方法
Apr 28 Servers
win server2012 r2服务器共享文件夹如何设置
Jun 21 Servers
ubuntu20.04虚拟机无法上网的问题及解决
Dec 24 Servers
nginx实现发布静态资源的方法
Nginx中break与last的区别详析
nginx网站服务如何配置防盗链(推荐)
本地通过nginx配置反向代理的全过程记录
nginx优化的六点方法
Mar 31 #Servers
Nginx优化服务之网页压缩的实现方法
Nginx 负载均衡是什么以及该如何配置
Mar 31 #Servers
You might like
php开发环境配置记录
2011/01/14 PHP
smarty内置函数config_load用法实例
2015/01/22 PHP
WordPress中"无法将上传的文件移动至"错误的解决方法
2015/07/01 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
PHP应用跨时区功能的实现方法
2019/03/21 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
javascript实现平滑无缝滚动
2020/08/09 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
微信小程序网络请求封装示例
2018/07/24 Javascript
JS实现HTML页面中动态显示当前时间完整示例
2018/07/30 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
nodejs语言实现验证码生成功能的示例代码
2019/10/13 NodeJs
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
Python获取服务器信息的最简单实现方法
2015/03/05 Python
简单了解python中对象的取反运算符
2019/07/01 Python
美国知名玩具品牌:Melissa & Doug
2016/08/16 全球购物
php优化查询foreach代码实例讲解
2021/03/24 PHP
会计实习期自我鉴定
2013/10/06 职场文书
中专生职业生涯规划书范文
2013/12/29 职场文书
《开国大典》教学反思
2014/04/19 职场文书
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
美术教师个人工作总结
2015/02/06 职场文书
工地材料员岗位职责
2015/04/11 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
2015年重阳节主持词
2015/07/04 职场文书
入党转正申请书范文
2019/05/20 职场文书
python+opencv实现目标跟踪过程
2022/06/21 Python
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android