我有一个复杂的问题。是否可以通过 CDN 提供整个静态网站(不仅仅是 css、js、图像……还包括渲染的 HTML 视图)。无论我尝试哪个 CDN 提供商,我都无法让它工作,因为这就是 DNS 和 nginx 设置发挥作用的地方。让我们使用 Amazon Cloudfront 来描述这一点。
问题来了:
所以我的问题是:
是否可以在该远程服务器上配置 nginx 以某种方式返回内容,当请求来自亚马逊(缓存它)时以及当请求不是来自亚马逊(某些访问者)时,然后将他指向 CDN(xxxxxxx.cdn)。 cloudfront.net)?此规则必须有效,因为相反,如果访问者来到域(例如 example.com/en/blog)并且亚马逊没有对此请求的缓存响应,它将把他指向远程服务器,远程服务器将处理该请求,返回亚马逊将缓存的响应,下次访问者访问同一路径时,亚马逊现在不需要调用远程服务器,他只需返回兑现的响应,直到过期。
但我不知道如何正确设置 Route 53 中的 nginx 和 DNS 以这种方式工作。
通过添加第三个源来解决 - 例如 production.example.com,其中 amazon cloudfront 将连接到根域,并且 www 域也会连接到 cloudfront。 必须修复原始 Production.example.com 的 URL 生成,以返回 https://example.com/* 而不是 https://product.example.com/* 或使用资源和 hreflinks 的相对路径