当前位置:网站首页>Cross-domain network resource file download
Cross-domain network resource file download
2022-08-01 10:02:00 【ten nine eight seven】
Question
Under normal circumstances, it is impossible to send cross-domain requests to download files.Take downloading Yuque as an example: you can see that if you directly access the download address, a cross-domain error will be reported
Resolve
At this time, we can forward the request through the nginx configuration proxy to complete the download:
location ^~ /yuque/ {proxy_pass https://app.nlark.com/yuque-desktop/;}
Description: When we send a request like
/yuque/
locally, nginx will forward the request (Note:/
must be added at the end, otherwise it is a proxy request, addThen the forwarding request), will forward/yuque/
to the followinghttps://app.nlark.com/yuque-desktop/
Then we rewrite the download request:
var xhr = new XMLHttpRequest();xhr.open("GET", "/yuque/1.1.4/Yuque-1.1.4.exe", true);xhr.send();
This time, we will not directly access the Yuque download address, but visit our local address, and then nginx will forward our request and forward
/yuque/
tohttps://app.nlark.com/yuque-desktop/
, then the forwarded request becomeshttps://app.nlark.com/yuque-desktop/1.1.4/Yuque-1.1.4.exe
.Since we do not directly request the download address, but the local address of the request, and forward the request through the proxy of nginx, there is naturally no cross-domain problem (if you don't understand, you can read the article I wrote about nginx reverse proxy before)
Afterword
Because nginx does not pass reverse proxy but forward proxy requests, in this process, the resource passes through the nginx server once, and then nginx sends the resource to the requester, so this process needs to consume the location of nginxserver traffic.
边栏推荐
- 记一次 .NET 某智慧物流WCS系统CPU爆高分析
- AI篮球裁判火了,走步算得特别准,就问哈登慌不慌
- sqlserver怎么查询一张表中同人员的交叉日期
- Detailed explanation of JVM runtime data area and JMM memory model
- mysql在cmd的登录及数据库与表的基本操作
- STM32个人笔记-嵌入式C语言优化
- Introduction to ADAS
- ASP.NET Core 6框架揭秘实例演示[30]:利用路由开发REST API
- How does UXDB return the number of records for all tables in the current database?
- Idea common plugins
猜你喜欢
随机推荐
STM32 personal notes - program run and fly
cisco交换机基本配置命令(华为交换机保存命令是什么)
量化日常工作指标
notes....
Explain / Desc 执行计划分析
CTFshow,命令执行:web33
RK3399平台开发系列讲解(内核入门篇)1.52、printk函数分析 - 其函数调用时候会关闭中断
对于小应用来讲,使用哪款数据库比较好?
微信公众号授权登录后报redirect_uri参数错误的问题
Get the Token from the revised version of Qubutu Bed
使用ESP32驱动QMA7981读取三轴加速度(带例程)
Custom Types - Enums, Unions
50.【动态二维数组的运用】
mysql在cmd的登录及数据库与表的基本操作
Idea common plugins
《时代》杂志:元宇宙时代将改变世界
VS“无法查找或打开PDB文件”是怎么回事?如何解决
改版去不图床 Token 的获取
In the background of the GBase 8c database, what command is used to perform the master-slave switchover operation for the gtm and dn nodes
笔记。。。。