我无法让AWS CloudFront与SquareSpace合作。表单未提交的问题以及网站说网站已过期。使CloudFront与Squarespace站点一起工作所需的设置是什么?
答案 0 :(得分:13)
这是绝对可行的,考虑到我只是设置了它。让我分享我在Cloudfront,Squarespace和Route53上使用的设置,使其工作。如果您想使用与AWS Route53不同的DNS提供,您应该能够调整这些设置。请注意,这不是电子商务网站,而是具有博客,静态网页和表单的标准网站。如果出现这些说明,您可能会将这些说明用于其他问题。
要实现这一目标,您需要为 Web 创建 Cloudfront Distribution 。
转发Cookie Cookie是使表单正常工作的缺失组件。您可以将其设置为全部或白名单。 Squarespace使用某些会话变量来验证,安全性和其他实用程序。我已将以下值添加到白名单Cookie :JSESSIONID, SS_MID, crumb, ss_cid, ss_cpvisit, ss_cvisit, test
。确保将每个值放在一个单独的行上,不带逗号。
转发查询字符串设置为 True ,因为一些Squarespace API调用使用查询字符串,因此必须传递这些字符串。
example.com, www.example.com
。在Squarespace网站上,您只需转到Settings->Domains->Connect a Third-Party Domain
即可。在那里,输入您的域名并继续。在域名设置下,如果您希望从www.example.com
访问您网站的用户重定向到根example.com
,则可以取消选中使用WWW前缀 。我更喜欢这个,但它取决于你。在 DNS设置下,您需要的唯一值是指向 verify.squarespace.com 的CNAME。将此CNAME记录添加到Route 53或其他DNS提供商的DNS设置中。由于我们使用自定义的部署方式,因此无法说您的连接已完全完成,但这不重要。
您的网站现在应该通过指向Squarespace部署的Cloudfront运行!请注意,DNS传播需要时间,因此如果您无法访问该网站,请给它一些时间(最多几个小时)来传播。
我无法确切说明是否有必要在白名单Cookie 下设置的每个值,但这些值来自使用Chrome Inspector确定哪些Cookie存在于请求中的 Cookie 标头。最初,我试图告诉Cloudfront将Cookie标头本身列入白名单,但它不允许这样做(可能是因为它希望您使用特定于Cookie的白名单)。如果您的部署无效,请查看您的请求中是否传输了更多Cookie(在Cookie标题下,您要查找的值应该是my_cookie=somevalue;other_cookie=othervalue
- my_cookie
和{{在我的示例中,1}}是您添加到白名单中的内容。
可以使用相同的过程通过转发标题白名单完全转发其他标题。只需检查并查看是否有可能需要经历的事情。
请注意,如果您未将标题或Cookie列入白名单,则无法访问Squarespace。如果你不想打扰,或者所有事情都被贬低(请原谅我的语言),你总是可以设置允许所有标题/ cookie,尽管这个会对缓存性能产生负面影响。如果可以,请保守。
希望这有帮助!
答案 1 :(得分:1)
以下是让CloudFront使用Squarespace的设置!
来源域名设置为:ext-cust.squarespace.com
原始协议政策选择HTTPS以便CDN和来源之间的流量也是安全的
替代域名(CNAME)将此www和无www地址放在此处,让Squarespace决定是否将www指向root或反之亦然(.eg example.com www example.com)的情况 您现在可以在CloudFront上配置SSL
HTTPS 您现在可以在此处使用您网站的证书强制执行HTTPS,而不是使用Squarespace
<小时/>
<小时/>
为www和root创建记录(例如example.com www.example.com)并设置为CloudFront分配的别名