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配置SSL证书出错解决方案
Mar 31 Servers
扩展多台相同的Web服务器
Apr 01 Servers
Nginx反向代理学习实例教程
Oct 24 Servers
CentOS下安装Jenkins的完整步骤
Apr 07 Servers
docker-compose部署Yapi的方法
Apr 08 Servers
Windows server 2012 配置Telnet以及用法详解
Apr 28 Servers
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
Apr 29 Servers
如何Tomcat中使用ipv6地址
May 06 Servers
使用Nginx+Tomcat实现负载均衡的全过程
May 30 Servers
Windows Server 2008配置防火墙策略详解
Jun 28 Servers
Nginx如何配置根据路径转发详解
Jul 23 Servers
windows server2012 R2下安装PaddleOCR服务的的详细步骤
Sep 23 Servers
nginx实现发布静态资源的方法
Nginx中break与last的区别详析
nginx网站服务如何配置防盗链(推荐)
本地通过nginx配置反向代理的全过程记录
nginx优化的六点方法
Mar 31 #Servers
Nginx优化服务之网页压缩的实现方法
Nginx 负载均衡是什么以及该如何配置
Mar 31 #Servers
You might like
最简单的PHP程序--记数器
2006/10/09 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
ajax接收后台数据在html页面显示
2017/02/19 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
js实现日历
2020/11/07 Javascript
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
异步任务队列Celery在Django中的使用方法
2018/06/07 Python
python实现ID3决策树算法
2018/08/29 Python
75条笑死人的知乎神回复,用60行代码就爬完了
2019/05/06 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
2019/07/31 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
python飞机大战pygame游戏之敌机出场实现方法详解
2019/12/17 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
Fox Racing英国官网:越野摩托车和山地自行车服装
2020/02/26 全球购物
超市促销实习自我鉴定
2013/09/23 职场文书
汽车运用工程毕业生自荐信
2013/10/29 职场文书
投标邀请书范文
2014/01/31 职场文书
学生会离职感言
2014/02/11 职场文书
研修第一天随笔感言
2014/02/15 职场文书
《童趣》教学反思
2014/02/19 职场文书
2015年国庆节寄语
2015/08/17 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
话题作文之呼唤
2019/12/18 职场文书
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
Vue如何清空对象
2022/03/03 Vue.js