Cloudfront 正在重定向到我们的网站
Cloudfront is redirecting to our website
截至今天上午,经过多年的正常工作,我们的云端帐户一直在重定向 (301) 到我们的网站以获取资产,而不是自行提供资产。有什么想法可以恢复吗?
昨晚我将我们从使用 Passenger 切换到 Puma 作为我们的 Web 服务器,作为其中的一部分,我在 production.rb 中更改了 config.serve_static_files = true
。但是,即使我恢复到 config.serve_static_files = false
,云端 URL 仍会重定向到我们的主页。
有什么解决办法吗?
经过一番排查,问题原因如下:
- Nginx 显然提供来自 http 的
public/
文件,即使存在从 http 到 https 的 301 重定向
- Puma 使用机架来提供
public/
文件,如果从 http 请求 public 文件,它将 return 301 重定向到 https
- 如果 Cloudfront 从它路由到的服务器(在本例中为 http)接收到 301 重定向,它只会将 301 重定向转发给用户,因此他们将永久重定向到网站的 https,而不是 cloudfront接收他们的文件。
- 修复此问题的配置设置将我们的云端源更改为 'Match Viewer' 而不是原来的 'Http only'。然后我们不得不等待人们的缓存被清除,因为它是永久重定向 (301)。
附带说明一下,我认为 Cloudfront 不应该将 301 重定向转发给客户端。这对我来说似乎不理想。
截至今天上午,经过多年的正常工作,我们的云端帐户一直在重定向 (301) 到我们的网站以获取资产,而不是自行提供资产。有什么想法可以恢复吗?
昨晚我将我们从使用 Passenger 切换到 Puma 作为我们的 Web 服务器,作为其中的一部分,我在 production.rb 中更改了 config.serve_static_files = true
。但是,即使我恢复到 config.serve_static_files = false
,云端 URL 仍会重定向到我们的主页。
有什么解决办法吗?
经过一番排查,问题原因如下:
- Nginx 显然提供来自 http 的
public/
文件,即使存在从 http 到 https 的 301 重定向 - Puma 使用机架来提供
public/
文件,如果从 http 请求 public 文件,它将 return 301 重定向到 https
- 如果 Cloudfront 从它路由到的服务器(在本例中为 http)接收到 301 重定向,它只会将 301 重定向转发给用户,因此他们将永久重定向到网站的 https,而不是 cloudfront接收他们的文件。
- 修复此问题的配置设置将我们的云端源更改为 'Match Viewer' 而不是原来的 'Http only'。然后我们不得不等待人们的缓存被清除,因为它是永久重定向 (301)。
附带说明一下,我认为 Cloudfront 不应该将 301 重定向转发给客户端。这对我来说似乎不理想。