heroku - 快速 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 的问题是
清除浏览器缓存或更改浏览器对我没有帮助。您能否尝试在您的计算机上快速点击 url,如果您也面临同样的重定向问题,请告诉我?
解决方案
是的,库(Heroku-SSL-Redirect)很可能是问题所在。
最后,您有两个单独的请求。来自浏览器的加密 HTTPS/SSL 请求。然后是从 Fastly 到 Heroku 的未加密请求。
您的节点应用程序和库只看到未加密的请求并返回重定向。
有两种方法可以解决这个问题:
- 您将 Fastly 配置为对 Heroku 作为其后端的加密请求。
- 每个路由/代理层(很快,还有 Heroku 路由层)通常使用
X-Forwarded-Proto
HTTP 标头告诉后端应用程序初始请求已经加密。因此,要么 heroku-ssl-redirect 不查看标题,要么它确实在途中丢失了。
推荐阅读
- mongodb - mongodb中的spring boot store动态键值对列表
- javascript - Web Worker onMessage/onError 在 IE 11 中是“权限被拒绝”
- ruby-on-rails - Rspec 测试在创建多态 has_many 关系时失败
- python-3.x - 如何使用计时器在 Cloud Functions 中运行 Python 代码
- postgresql - postgresql:测试 dblink 连接的触发器,如果不存在则建立
- python - 平均相邻值时通过numpy数组优化迭代
- linux - 为什么 LOAD 程序头的虚拟地址和 gdb 显示的运行时虚拟地址不同?
- awk - 使用 awk one liner 比较浮点数
- pytest - setup() 函数的 pytest 奇怪行为
- unicode - 为什么恢复的文件没有以前的符号?