首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何主持我的SPA?让example.com/spa导致CDN?

问如何主持我的SPA?让example.com/spa导致CDN?
EN

Stack Overflow用户
提问于 2016-10-25 14:40:36
回答 1查看 2.4K关注 0票数 1

当前状态

我有一个现有的SPA应用程序,它运行在后端服务器上。

在我的生产服务器上设置Apache的方式如下:

  • DNS example.com指向我的生产服务器。有Apache为我的域配置了适当的SSL。
  • css/前端导致SPA文件(js/css/.)部署在我的服务器的文件夹中。
  • same /指向我的后端,它运行在同一个服务器上

我想做什么

我正在尝试将我的前端资产部署到CDN中。这里有很多选择,但我并不是在寻求选择哪一个的建议。

问题

如果我将我的应用程序部署到CDN,文件将不再托管在我的生产服务器上。所以我的后端在example.com上,SPA在myapp.cdn.com上

据我所知,在DNS级别上无法使example.com/cdn指向CDN文件。我最多可以创建另一个域cdn.example.com并使其指向myapp.cdn.com,但不幸的是,在我的情况下这是不可能的.

Safari History API中存在其他浏览器没有的不一致行为。

我的索引html页面由我的后端服务器(https://example.com/ )提供,并设置为基本url我的前端url (https://example.com/frontend)。目前,它在所有浏览器中都能正常工作,因为它是同一个域。

在Safari中,如果您设置一个与后端基本url不同的域的基url (例如使用https://frontend.example.com/作为基本url而不是https://example.com/frontend),那么就会出现安全异常,使我的应用程序无法正常使用HMTL5历史记录API。

我在找什么

我已经知道了一些可供选择的选项,比如直接在前端服务我的index.html页面,或者不使用基url。目前还没有找到这样的解决方案(即使我考虑了很长时间的改变)

在与我的后端服务器(example.com)相同的域上,使路径(如example.com/ CDN )指向我的CDN文件的最佳方法是什么?

我正在寻找一种可以生产的解决方案,在这个解决方案中,性能保持正确,而且我的CDN功能还在发挥作用(etags,HTTP2.)

我认为我的Apache服务器最终可以接收/cdn上的所有请求,并发出永久重定向到CDN域。即使第一次服务需要额外的往返,只要这是第一次,我也不会介意。在你看来,这看起来像是一个适合生产的选择吗?有什么像样的选择吗?

EN

回答 1

Stack Overflow用户

发布于 2016-10-25 15:02:51

通常,您希望您的前端在根域example.com/上可用,不是吗?后端可以在任何地方,这并不重要,因为没有用户会看到它。

我要建议的是:

  • 使用CDN,它允许您使用自己的域名。
  • 使用仅仅是缓存代理的CDN,而不是手动将静态文件推到的东西。
  • 设置DNS以将example.com指向CDN服务器。
  • 在backend.example.com设置后端,而不是CDN d
  • 设置CDN从backend.example.com中提取文件
  • 向example.com/api/...发出后端请求
代码语言:javascript
复制
  +-----+
  | CDN | \
  +-----+  \
example.com \
             \
  +-----+     \  +--------+
  | CDN | ------ | origin |
  +-----+     /  +--------+
example.com  backend.example.com
            /
  +-----+  /
  | CDN | /
  +-----+
example.com

这条路:

  • example.com/是您一个规范的世界可见的URL。
  • 文件布局完全反映了原始服务器,不需要有两个版本。
  • 所有请求都通过CDN代理,包括后端请求,如果正确使用缓存,则后端请求将减少后端服务器上的负载,并加快前端响应速度。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40242920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档