前言
在开发静态页面时,类似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转发请求之后,就能够让所要部署的静态页面不需要放在跟请求接口同域的地方。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 徐玮1980-我爱校园[台湾复刻版][WAV+CUE]
- 群星《极品人声-女声1号》[WAV分轨][510M]
- 欧美极美女声《 弦动你心》3CD[WAV分轨][1.7G]
- 张惠妹《歌声妹影 Live》SACD[ISO][2.9G]
- 黑豹乐队.2024-Smokescreen视陷(EP)【风华秋实】【FLAC分轨】
- 十个勤天.2024-展开一天【可能文化】【FLAC分轨】
- 王杰.1989-故事的角色(粤)【华纳】【WAV+CUE】
- 【原神】纳塔万火之瓯8个被掩藏起来的宝箱
- 【原神】胡桃突破素材(霓裳花,骗骗花)收集攻略
- 【原神】V5.1攻略 |「胡桃」一图流丨角色解析攻略
- Xbox版本的《夺宝奇兵:古老之圈》将以60FPS为目标
- 《潜行者2》将提供一个强大MOD工具包!主机PC都支持
- 《潜行者2》技术制作人:游戏将提供始终稳定的帧率!
- 《刺客信条:枭雄》雕像开放预订
- Bungie新作官方中文定名《惑星行者》 商店页面上线