首页 > 解决方案 > 快速 CDN Heroku url 重定向

问题描述

我最近从 Heroku 应用程序的插件中添加了 Fastly 域。当快速配置时,我得到了一个测试 url,如下所示:

https://felix-homes-herokuapp-com.global.ssl.fastly.net/

每当我点击此网址时,它都会被重定向到

https://felix-homes.herokuapp.com出于某种未知原因。

请注意,我的 nodejs 应用程序使用 Heroku-SSL-Redirect。是不是因为这个?

我已经按照设置指南向支持人员询问了多个问题

https://support.fastly.com/hc/en-us/requests/323620?page=1

我发现最接近 SO 的问题是

快速添加到 Heroku 应用程序不会转发到正确的 url

清除浏览器缓存或更改浏览器对我没有帮助。您能否尝试在您的计算机上快速点击 url,如果您也面临同样的重定向问题,请告诉我?

标签: herokufastly

解决方案


是的,库(Heroku-SSL-Redirect)很可能是问题所在。

最后,您有两个单独的请求。来自浏览器的加密 HTTPS/SSL 请求。然后是从 Fastly 到 Heroku 的未加密请求。

您的节点应用程序和库只看到未加密的请求并返回重定向。

有两种方法可以解决这个问题:

  1. 您将 Fastly 配置为对 Heroku 作为其后端的加密请求。
  2. 每个路由/代理层(很快,还有 Heroku 路由层)通常使用X-Forwarded-ProtoHTTP 标头告诉后端应用程序初始请求已经加密。因此,要么 heroku-ssl-redirect 不查看标题,要么它确实在途中丢失了。

推荐阅读