3

以前我从这两个文件夹中为我的网站 (http://example.com) 提供图像:http ://example.com/images和http://example.com/pics

现在我创建了一个子域 img.examole.com 并将这些文件夹移动到http://img.example.com/picshttp://img.example.com/images位置。我还通过编辑 .htaccess 文件阻止了对http://example.com/img文件夹的访问,这样子域就不能作为主站点的目录访问。它只能作为http://img.example.com访问

如何使这个http://img.example.com子域成为少 cookie 的子域?或者我可以将此http://img.example.com子域添加到 cloudflare 吗?我不想将主域http://example.com添加到云闪现。当我尝试从我的 CPanel 将http://example.com添加到云耀斑时,它显示:

类型记录不能直接通过 CloudFlare 网络路由。相反,请单击此处并切换 img.example.com 的类型。到 CNAME

我在所有文章中都将图像位置更改为http://img.example.com/pics 。如何解决这个问题?请帮助..

4

3 回答 3

4

无 cookie 并由 CDN 提供服务是域的不相关属性。

要为您的网站制作一些域 cookie,您根本不应该设置在该域上可见的 cookie,并确保您在您的网站上使用的任何其他第三方代码都不会这样做。

避免来自 example.com 的 cookie 在子域上不可见通常是不方便的(通常站点从两个位置 www.example.com 和 example.com 提供服务)。如果您可以只在 example.com 上使用 cookie - 请确保所有 set-cookie 标头都指定确切的域(“example.com”而不是“.example.com”),这样 cookie 在任何子域上都不会可见。另一种选择是将主站点移动到子域并在那里设置 cookie(即 www.example.com),而不是再次 cookie 不会“泄漏”到兄弟子域(即“img.example.com”)

将静态内容托管在完全独立的域名上可能是更好的主意 - 更容易控制 cookie 并可能为 CDN 提供更多可能性(即,在某些情况下,来自 CDN 的 HTTPS 流量可能需要对自定义域和 CDN 提供的域进行不同的操作)。

于 2013-01-04T06:18:54.490 回答
1

浏览器将以不同的方式查看 example.com 和 www.example.com。如果您在 example.com 上设置 cookie,那么它将在对 www.example.com 和 cookie-free.example.com 的请求中查找它们,我希望这就是您无法获得无 cookie 子域的原因(因为顶级有饼干)。最佳做法是使用 www.example.com 作为您的站点,并在其中设置 cookie,然后如果您使用 cookie-free.example.com(另一个子域,如 www),它将没有自上而下查找的 cookie浏览器。

有关详细信息,请参阅http://developer.yahoo.com/performance/rules.html#cookie_free

于 2013-11-07T18:37:28.663 回答
-1

正如其他人所说,这里有两个不同(但相关)的问题:

  1. 配置服务器/应用程序以提供来自无 cookie 子域的资产
  2. 利用 CloudFlare 交付静态资产。

对于问题 #1,您需要确保没有将 cookie 分配给整个域(这就是建议使用 www. 的原因)。这里有关于如何做到这一点的很好的信息: 从无 Cookie 域提供静态内容和这里:从无Cookie 子域提供静态内容的 4 个步骤- 这两篇文章也解决了关于“COOKIKE_DOMAIN”设置的 WordPress 问题。

本质上,您需要确保 Google Analytics 和 WordPress 等应用程序不会在域级别设置 cookie,而是将它们限制在 www 子域。

对于问题 #2,CloudFlare 自己声明他们将 cookie 分配给每个静态请求:

CloudFlare 将向我们的服务代理的任何域或子域添加一个安全 cookie。此外,由于默认情况下 CloudFlare 已经缓存了您的静态内容,因此确实不需要无 cookie 域。

KB - 我可以通过 CloudFlare 提供无 cookie 域或子域吗?

于 2013-12-02T06:27:05.297 回答