gpt4 book ai didi

cdn - 将AWS CloudFront CDN放在Squarespace网站前面需要哪些设置?

转载 作者:行者123 更新时间:2023-12-03 02:36:02 26 4
gpt4 key购买 nike

我很难让AWS CloudFront与SquareSpace一起使用。表单未提交且网站说网站过期的问题。要使CloudFront与Squarespace站点一起使用,需要进行哪些设置?

最佳答案

考虑到我刚刚进行了设置,这绝对是可行的。让我分享我在Cloudfront,Squarespace和Route53上使用的设置以使其正常运行。如果您想使用与AWS Route53不同的DNS提供,则应该能够调整这些设置。请记住,这不是电子商务网站,而是具有博客静态页面形式的标准网站。当出现其他问题时,您可能会修改这些说明。

云端(CDN)

为此,您需要为 Web 创建 Cloudfront发行版

原点设置

  • 原始域名应该设置为 ext-cust.squarespace.com 。这是Squarespace外部域名的入口。
  • 原始路径可以留为空白。
  • 原始ID 只是此发行版的唯一ID,如果您在发行版创建屏幕上,则应自动填充,如果以后要编辑“原始设置”,则应将其固定。
  • 不需要设置原始自定义标题

  • 默认缓存行为设置/行为
  • 路径模式应该保留在默认
  • 我已将查看器协议(protocol)策略设置为将HTTP重定向到HTTPS 。这决定了您的站点可以使用HTTP还是HTTPS之一或同时使用。我更喜欢安全地路由所有流量,因此我将所有HTTP流量重定向到HTTPS。请注意,您不能执行反向操作并将HTTPS重定向到HTTP,因为这会导致身份验证问题(您的浏览器不想公开您认为安全的连接)。
  • 允许的HTTP方法必须为 GET,HEAD,OPTIONS,PUT,POST,PATCH,DELETE 。这是因为表单(以及其他诸如注释之类的东西)使用 POST HTTP方法来工作。
  • 缓存的HTTP方法我只剩下 GET,HEAD 了。这里不需要任何其他东西。
  • 转发 header 需要设置为所有白名单。我们前面提到的Squarespace的入口点需要知道您来自哪个域来为您的网站提供服务,因此 Host header 必须列入白名单,如果设置为All,则必须与其他所有内容一起使用。
  • 对象缓存最小TTL 最大TTL 默认TTL 都可以保留为默认值。
  • 转发Cookies Cookies是使表格正常工作所缺少的组件。您可以将其设置为所有,或白名单。 Squarespace将某些 session 变量用于验证,安全性和其他实用程序。我已将以下值添加到白名单Cookies 中:JSESSIONID, SS_MID, crumb, ss_cid, ss_cpvisit, ss_cvisit, test。确保将每个值放在单独的行中,且不要使用逗号。
  • 转发查询字符串设置为 True ,因为某些Squarespace API调用使用查询字符串,因此必须将其传递。
  • 平滑流限制查看者访问自动压缩对象都可以保留其默认值,或者如果您知道需要对它们进行不同的设置,则可以根据需要选择它们。

  • 发行设置/常规
  • 价格类别 AWS WAF Web ACL 可以单独使用。
  • 备用域名应该列出您的域以及带有www子域的域,例如example.com, www.example.com
  • 对于SSL证书,请按照here教程将证书上载到IAM(如果还没有的话),然后刷新证书(此下拉列表旁边有一个控件),选择自定义SSL证书并选择一个您已配置。这样可以确保浏览器将通过HTTPS的SSL识别为有效。如果您根本不使用HTTPS,则没有必要。
  • 以下所有设置都可以保留为默认设置,或选择以满足您自己的特定要求。

  • 路线53(DNS)

  • 您需要为您的域设置托管区域(这特定于Route 53设置)。
  • 您需要设置 A 记录以指向您的Cloudfront发行版。
  • 即使您不打算使用它,也应该为指向您的Cloudfront发行版的 www 子域名设置 CNAME 记录(即使您不打算使用它,我们也将其设置为通过重定向Squarespace仅使用根域) www子域)

  • 方形空间

    在您的Squarespace网站上,您只需转到 Settings->Domains->Connect a Third-Party Domain即可。在那里,输入您的域并继续。在域的设置下,如果希望有人从 www.example.com访问您的网站重定向到根目录 example.com,则可以取消选中 并使用WWW前缀。我喜欢这个,但这取决于你。在 DNS设置下,您唯一需要的值是CNAME,它指向 verify.squarespace.com 。将此CNAME记录添加到Route 53或其他DNS提供商的DNS设置中。由于我们使用自定义的部署方式,因此永远不会说您的连接已完全完成,但这无关紧要。

    现在,您的站点应该通过Cloudfront进行操作,指向您的Squarespace部署!请注意,DNS传播需要时间,因此,如果您无法访问该站点,请给它一些时间(最多几个小时)进行传播。

    笔记

    我无法确切地说出 白名单Cookies 下设置的每个值是否都是必要的,但是这些取自使用Chrome浏览器检查器确定请求中 Cookie header 下存在哪些cookie。最初,我试图告诉Cloudfront将Cookie header 本身列入白名单,但不允许这样做(大概是因为它希望您使用特定于Cookie的白名单)。如果您的部署无法正常工作,请查看您的请求中是否还有更多的Cookie正在传输(在Cookie header 下,您要查找的值应类似于 my_cookie=somevalue;other_cookie=othervalue -在我的示例中为 my_cookieother_cookie是您要添加到其中的值)白名单)。

    可以使用相同的过程来完全转发可能需要通过 转发头白名单的其他头。只需检查一下,看是否有需要检查的地方。

    请记住,如果您没有将 header 或cookie列入白名单,那么它就不会进入Squarespace。如果您不想打扰,或者一切都没用(对不起,我的语言),尽管可以对缓存性能产生不利影响,但您始终可以将其设置为允许所有 header /Cookie。因此,如果可以的话,请保守一点。

    希望这可以帮助!

    关于cdn - 将AWS CloudFront CDN放在Squarespace网站前面需要哪些设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36346497/

    26 4 0