千家信息网

怎么用Nginx解决前端跨域问题

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要介绍了怎么用Nginx解决前端跨域问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言在开发静态页面时,类似Vue的应用
千家信息网最后更新 2025年01月23日怎么用Nginx解决前端跨域问题

这篇文章主要介绍了怎么用Nginx解决前端跨域问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

前言

在开发静态页面时,类似Vue的应用,我们常会调用一些接口,这些接口极可能是跨域,然后浏览器就会报cross-origin问题不给调。

最简单的解决方法,就是把浏览器设为忽略安全问题,设置--disable-web-security。不过这种方式开发PC页面到还好,如果是移动端页面就不行了。

解决办法

使用Nginx转发请求。把跨域的接口写成调本域的接口,然后将这些接口转发到真正的请求地址。

举个栗子

例如我们在开发一个Vue应用。

原先:

调试页面是: http://192.168.1.100:8080/

请求的接口是: http://ni.hao.sao/api/get/info

步骤一:

请求的接口是: http://192.168.1.100:8080/api/get/info

PS:这样就解决了跨域问题。

步骤二:

安装好Nginx后,去到/usr/local/etc/nginx/目录(这是Mac的),修改nginx.conf文件。

步骤三:

把默认的server配置注释掉。

在下面增加:

  server{    listen 8888;    server_name 192.168.1.100;     location /{      proxy_pass http://192.168.1.100:8080;    }     location /api{      proxy_pass http://ni.hao.sao/api;    }  }

保存后,启动Nginx。

PS:并不需要太了解Nginx的配置,很简单的。

步骤四:

访问: http://192.168.1.100:8888/

搞定。

PS:注意访问的端口是'8888',有其他域的地址继续加location就行了。

错误示范

我一开始不太懂Nginx的配置,以为可以如下配置。

  server{    listen 8080;    server_name 192.168.1.100;     location /api{      proxy_pass http://ni.hao.sao/api;    }  }

之所以这么写,是我认为这样可以让Nginx帮我监听8080的请求,然后只转发匹配的请求。我没有意识到的是Nginx这么写后,是需要占用8080端口的。

既然需要占用端口,那也就不能再被其他相同协议的进程占用,就导致开发的页面无法以8080端口启用。经同事提点,才想起这事情,换下思路,就有了最上面的方法。

感谢你能够认真阅读完这篇文章,希望小编分享的"怎么用Nginx解决前端跨域问题"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

接口 问题 页面 步骤 端口 篇文章 开发 配置 前端 地址 方法 浏览器 应用 浏览 不行 相同 之所以 事情 价值 兴趣 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全执法警察上班体验 java可以上传到其他服务器吗 群晖验证错误无法连接服务器 网络安全模式下可修复系统吗 网络技术指标汇总报告 丹徒游戏软件开发 云服务器内网ip访问不了 罗湖区网络技术转移包括什么 广州欣兴互联网科技有限公司 软件开发技术哪个好找工作吗 深入企业排查网络安全隐患 弥勒市本地软件开发 数据库安全防火墙 报税提示数据库连接失败 宿迁魏晋元兴分布式存储数据库 珠海博杰软件开发待遇 数据库安全开发 找出是否重复数据库 分布式数据库好和媒体数据库 滨州资产管理软件开发公司 腾讯云软件开发外包 GB8556计算机软件开发规范 计算机网络技术现代安防专业 华三服务器主板电路 在报表中将大量数据库 深圳云服务器散热器供应商 建立数据库的基本过程图 cursor数据库详解 中国网络安全企业 通信网络安全规范操作
0