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本地目录映射实现代码实例
Mar 31 Servers
nginx+lua单机上万并发的实现
May 31 Servers
centos8安装nginx1.9.1的详细过程
Aug 02 Servers
Nginx部署vue项目和配置代理的问题解析
Aug 04 Servers
Nginx实现负载均衡的项目实践
Mar 18 Servers
详解使用内网穿透工具Ngrok代理本地服务
Mar 31 Servers
如何通过cmd 连接阿里云服务器
Apr 18 Servers
tomcat下部署jenkins的方法
May 06 Servers
聊聊配置 Nginx 访问与错误日志的问题
May 25 Servers
讨论nginx location 顺序问题
May 30 Servers
Linux中各个目录的作用与内容
Jun 28 Servers
nginx实现发布静态资源的方法
Nginx中break与last的区别详析
nginx网站服务如何配置防盗链(推荐)
本地通过nginx配置反向代理的全过程记录
nginx优化的六点方法
Mar 31 #Servers
Nginx优化服务之网页压缩的实现方法
Nginx 负载均衡是什么以及该如何配置
Mar 31 #Servers
You might like
php数据类型判断函数有哪些
2013/09/23 PHP
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
JavaScript中用于生成随机数的Math.random()方法
2015/06/15 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
AngularJS内建服务$location及其功能详解
2016/07/01 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
vue使用v-for实现hover点击效果
2018/09/29 Javascript
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
vue实现购物车小案例
2019/09/27 Javascript
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
在Mac OS上搭建Python的开发环境
2015/12/24 Python
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
Python进阶之全面解读高级特性之切片
2019/02/19 Python
Python对ElasticSearch获取数据及操作
2019/04/24 Python
python常用数据重复项处理方法
2019/11/22 Python
浅析移动设备HTML5页面布局
2015/12/01 HTML / CSS
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
机电一体化专业应届本科生求职信
2013/09/27 职场文书
运动会跳远广播稿
2014/02/04 职场文书
仓管员岗位责任制
2014/02/19 职场文书
师范生见习报告范文
2014/11/03 职场文书
新生入学欢迎词
2015/01/26 职场文书
家长会感言
2015/08/01 职场文书
Python中的datetime包与time包包和模块详情
2022/02/28 Python