我有一个为我们的静态内容提供服务的 CDN。来自因特纳普。
为了使我的 html 中的 CDN url 更可口,我的 DNS 设置中有一个“CNAME”条目:
cache.mysite.com
=> CNAME 指向 Internap
Internap 服务器是一个源拉服务器。所以我的域有一个指向 CDN 的“/public_html/cache”文件夹。
我放在这里的一些文件我只想从我自己的域中提供服务。
同样重要的是我的网站落后于 Nginx。那是前端服务器,提供所有静态文件,如 ttf/woff/eot/css/js/gif 等。只有 PHP 需要在后端代理到 Apache。
我遇到了“访问控制允许来源”指令。Nginx 也有办法做到这一点(有用的 ServerFault 文章和有用的StackOverFlow 文章),但我只想限制来自我拥有的某些域的访问。
我有点困惑的原因是因为我在提供字体和管理访问方面有三层:
- 内容分发网络
- Nginx 静态服务器
- Apache(可能根本不需要,因为 Nginx 将文件提供给 CDN,然后 CDN 接管?)
我的问题:
- 我应该如何在 Nginx 中指定一些选择域。“*”真的不是我需要的。这是否适用于我的域并涵盖相关的子域 -
location ~* \.(eot|ttf|woff)$ { add_header Access-Control-Allow-Origin *.domain1.com,*.domain2.com }
我应该在 Nginx 的什么地方指定这个块。在与我提供字体的特定域相关的 vhost 文件中(
cache.mysite.com
前面提到过)还是在整个 Nginx 配置中?我需要 Apache 的东西吗?如果 Nginx 已经在处理 webfont 格式并控制对它的访问。
谢谢!