Cloudflare + Heroku 与自定义域
Posted
技术标签:
【中文标题】Cloudflare + Heroku 与自定义域【英文标题】:Cloudflare + Heroku with custom domain 【发布时间】:2017-01-03 11:27:58 【问题描述】:我有一个 Heroku 应用程序并连接了 Cloudflare。据我所知,没有办法删除默认的 Heroku 域(app.herokuapp.com),所以我将所有使用主机“app.herokuapp.com”的请求转发到“mydomain.com”。但是 Cloudflare 会保护我免受直接对 Heroku 域的攻击吗?如果不是,是否可以删除默认域或以某种方式隐藏它?
【问题讨论】:
隐藏默认域是什么意思?当您通过cloudflare转发所有流量时,它实际上是从源站服务器获取响应并发出自己的http / https响应+修改标头,因此它已经隐藏了源站服务器。现在,即使您 pingmydomain.com
,您也应该看到它停止在 cloudflare 的网络上。它甚至不公开原始服务器的信息。那些链接1,2 可能有用
另外(对不起,长 cmets!),对于你的第二个问题,我不太确定,因为如果有人直接点击 Heroku 域,那么只有 Heroku 知道(我相信他们肯定有一些短的安全性),但您的另一个选择是将允许的 IP 限制在您喜欢的 IP 和 Cloudflare 中。我不知道它是否有用,但 Heroku 提供了类似 this 或 this
例如,我在 app.herokuapp.com
上有 heroku 应用程序,并通过 Cloudflare 连接了域 mydomain.com
。如果我直接访问app.herokuapp.com
,我不会通过 Cloudflare 的过滤器。让我们想象一下,mydomain.com
受到 DDoS 攻击。 Cloudflare 将帮助我保护。但是现在直接攻击app.herokuapp.com
。而且由于请求不通过 Cloudflare,我无法保护。
【参考方案1】:
你在所有方面都是正确的。我正在为您提供基本卸载攻击的简单方法。所有方法都针对 301 重定向和/或数据包转发。
但是 Cloudflare 会保护我免受直接针对 Heroku 的攻击吗 领域?
Cloudflare has a service which they say CNAME flattening。几年前,是 dnsmadeeasy 发现了 A Name。它们不是 RFC 标准化的。许多其他 DNS 服务都有这样的东西。基本原理很简单。如果应用 URL 是 my-ugly-url.herokuapp.com
并且您的自定义域是 my-custom.com
那么您可以设置:
| my-custom.com |
@ my-ugly-url.herokuapp.com ( ANAME or ALIAS )
app.my-custom.com CNAME my-ugly-url.herokuapp.com
www.my-custom.com CNAME my-ugly-url.herokuapp.com
然后在应用程序的 Web 服务器配置中进行 301 重定向,app.my-custom.com
将重定向到 my-ugly-url.herokuapp.com
。对my-ugly-url.herokuapp.com
的请求将由dnsmadeeasy 转发到my-custom.com
。现在可能有更多这样的 DNS 服务。是的,在两个域上并行运行攻击的机会仍然存在。但是my-ugly-url.herokuapp.com
也会暴露在 DNS 记录中。
如果不是,是否可以删除默认域或以某种方式隐藏它?
官方301重定向,包转发也是可以的。有一些方法可以拥有专用 IP 并转发 TCP 数据包。他们有 3 种附加组件——
-
/addons/proximo。
/addons/fixie。
/addons/quotaguardstatic。
它们在应用程序级别并不总是那么容易,但可能比让这样的裸子域对所有人开放更安全。 PaaS is facing increasing DDoS now。那是另外一回事。
【讨论】:
以上是关于Cloudflare + Heroku 与自定义域的主要内容,如果未能解决你的问题,请参考以下文章
使用 CloudFlare、Heroku 和 RoR 时如何设置真实 IP 地址?
Rails Heroku Cloudflare SSL 和 websockets