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反向代理配置的全过程记录
Jun 22 Servers
解决使用了nginx获取IP地址都是127.0.0.1 的问题
Sep 25 Servers
nginx刷新页面出现404解决方案(亲测有效)
Mar 18 Servers
Apache Pulsar结合Hudi构建Lakehouse方案分析
Mar 31 Servers
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
Apr 07 Servers
IIS服务器中设置HTTP重定向访问HTTPS
Apr 29 Servers
zabbix配置nginx监控的实现
May 25 Servers
服务器SVN搭建图文安装过程
Jun 21 Servers
Windows server 2022创建创建林、域树、子域的步骤
Jun 25 Servers
Nginx配置使用详解
Jul 07 Servers
nginx实现发布静态资源的方法
Nginx中break与last的区别详析
nginx网站服务如何配置防盗链(推荐)
本地通过nginx配置反向代理的全过程记录
nginx优化的六点方法
Mar 31 #Servers
Nginx优化服务之网页压缩的实现方法
Nginx 负载均衡是什么以及该如何配置
Mar 31 #Servers
You might like
PHP中GET变量的使用
2006/10/09 PHP
PHP入门经历和学习过程分享
2014/04/11 PHP
详解WordPress开发中get_header()获取头部函数的用法
2016/01/08 PHP
PHP单例模式定义与使用实例详解
2017/02/06 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
2017/11/20 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
2018/04/09 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
js模仿hover的具体实现代码
2013/12/30 Javascript
JavaScript新窗口与子窗口传值详解
2014/02/11 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
js css自定义分页效果
2017/02/24 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
ReactNative列表ListView的用法
2017/08/02 Javascript
vue基于Element构建自定义树的示例代码
2017/09/19 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
用Python创建声明性迷你语言的教程
2015/04/13 Python
Python数据操作方法封装类实例
2017/06/23 Python
Python3使用SMTP发送带附件邮件
2020/06/16 Python
Python实现DDos攻击实例详解
2019/02/02 Python
python 杀死自身进程的实现方法
2019/07/01 Python
python退出循环的方法
2020/06/18 Python
凯特方迪化妆品官网:Kat Von D Beauty
2016/11/15 全球购物
计算机相关的自我评价
2014/01/15 职场文书
结对共建工作方案
2014/06/02 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书
导游词开场白
2015/01/31 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
仓库管理制度范本
2015/08/04 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
《雷雨》教学反思
2016/02/20 职场文书
Nginx配置https的实现
2021/11/27 Servers