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
Apache Linkis 中间件架构及快速安装步骤
Mar 16 Servers
nginx中封禁ip和允许内网ip访问的实现示例
Mar 17 Servers
nginx常用配置conf的示例代码详解
Mar 21 Servers
Nginx虚拟主机的配置步骤过程全解
Mar 31 Servers
阿里云日志过滤器配置日志服务
Apr 09 Servers
项目中Nginx多级代理是如何获取客户端的真实IP地址
May 30 Servers
阿里云服务器部署RabbitMQ集群的详细教程
Jun 01 Servers
利用Apache Common将java对象池化的问题
Jun 16 Servers
vscode内网访问服务器的方法
Jun 28 Servers
Apache自带的ab压力测试工具的实现
Jul 23 Servers
nginx实现发布静态资源的方法
Nginx中break与last的区别详析
nginx网站服务如何配置防盗链(推荐)
本地通过nginx配置反向代理的全过程记录
nginx优化的六点方法
Mar 31 #Servers
Nginx优化服务之网页压缩的实现方法
Nginx 负载均衡是什么以及该如何配置
Mar 31 #Servers
You might like
第十二节 类的自动加载 [12]
2006/10/09 PHP
php fckeditor 调用的函数
2009/06/21 PHP
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
PHP动态规划解决0-1背包问题实例分析
2015/03/23 PHP
启用Csrf后POST数据时出现的400错误
2015/07/05 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
学习ExtJS table布局
2009/10/08 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
JS实现控制表格行内容垂直对齐的方法
2015/03/30 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
JS模式之简单的订阅者和发布者模式完整实例
2015/06/30 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
vue通过style或者class改变样式的实例代码
2018/10/30 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
2020/02/10 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
django启动uwsgi报错的解决方法
2018/04/08 Python
Python中交换两个元素的实现方法
2018/06/29 Python
对Python3+gdal 读取tiff格式数据的实例讲解
2018/12/04 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
Python爬虫爬取煎蛋网图片代码实例
2019/12/16 Python
python学生信息管理系统实现代码
2019/12/17 Python
实例讲解Python 迭代器与生成器
2020/07/08 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
美国时尚女装在线:Missguided
2016/12/03 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
2014端午节活动策划方案
2014/01/27 职场文书
加强作风建设工作总结
2014/10/23 职场文书
同意迁入证明模板
2014/10/26 职场文书
交通安全月活动总结
2015/05/08 职场文书
秋菊打官司观后感
2015/06/03 职场文书
一小时学会TensorFlow2之基本操作2实例代码
2021/09/04 Python
Nginx如何配置根据路径转发详解
2022/07/23 Servers