【发布时间】:2018-02-13 20:55:25
【问题描述】:
我有一个位于 S3 存储桶中的静态网站。我正在使用 CloudFront 将站点保持在 https 下。浏览者可以在https下看到主页(从http重定向),不用担心。但是,当用户单击主页到从属页面(文档或博客)时,我会收到拒绝访问消息。当我从浏览器的 URL 地址直接进入该页面时,我能够正确地看到该页面。我已启用存储桶策略以包括从 http:"naked domain" 和 http://www."mydomain" 访问任何页面。我也启用了 CORS。
我很困惑为什么链接不起作用。如有任何建议,我将不胜感激。
【问题讨论】:
-
点击链接或直接输入 URL 应该没有任何区别。这表明链接的生成方式有问题......也许你有错字?
-
我认为您不会访问与 HTML 中相同的 exact 链接。 XML 错误输出表明您在 CloudFront 中选择源域名时从下拉列表中选择了存储桶。相反,您需要粘贴存储桶的网站托管端点主机名,如 S3 控制台中所示。
-
没有url也没有代码,很难帮你。
-
首先,感谢大家的反馈。您的 cmets 让我深入研究我的代码并确保所有 URL 都是正确的。我确实发现 feed.xml 文件的 URL 不正确。我更正了此问题并上传回 S3,并使边缘位置中的现有代码无效。我确实检查了 URL,并了解到虽然我能够深入到 index.html 文件,但链接只深入到文档的“主”目录。我添加了我的 _config.yml
-
我看到的问题是@CaioProiete 和 Michael 的 URL - sqlbot 在他们的推荐中回避。 Jekyll 生成的 URL 会下降到目录级别,而我可以在 index.html 文件中添加它并且它可以工作。我更新了环境变量以反映 JEKYLL_ENV="production" 并为我纠正了主机问题。我仍然收到拒绝访问错误。
标签: amazon-s3 jekyll amazon-cloudfront