(1). 场景:

. 存储是在七牛云,动态存储域名与业务域名不一致

②. 本地的view.html包与OSS的域名不一致

(2). pdf.js默认不支持跨域,官方给出了两个方案:

. 使用cors。

②. 将业务服务器作为代理

(3). 实现:

. 最简单的方案后端拿到pdf后,存在本地服务器:
    a. 增加后端压力
    b. 占用业务服务器存储

②. OSS存储服务器增加跨域的头Access-Control-Allow-Origin,允许业务服务器直接读取,但在ie9上会出现安全提示

③. nginx反向代理:
    a. 存储域名为动态的,定义好url:
       "/Index/viewer?file=http://hd4.xwg.cc/2017-04-10_1491805971_FlNoJrXvyicG7SRDg4Y6E3tA8-7G.pdf?bucket=qxt-2017"
    b. 对应的存储域名由bucket来决定为qxt-2017.cdn.xwg.cc
    c. nginx配置
       location ~ .*.pdf
       {
          resolver 100.100.2.138;
          proxy_pass http://$arg_bucket.cdn.xwg.cc;
       }
       location ~ .*.pdf
       {
          resolver 8.8.8.8;
          proxy_pass https://test-core.oss-cn-shanghai.aliyuncs.com;
       }. 未加上resolver指令,nginx一直报错,而静态的存储域名没事:
    Parameter value can contain variables. In this case, if an address is specified as a domain name, the name is searched among the described server groups, and, if not found, is determined using a resolver.
`
GitHub 加速计划 / vu / vue
207.52 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:1 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 3 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 3 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐