具有自定义域的 Cloudflare + Heroku

Cloudflare + Heroku with custom domain

我有一个 Heroku 应用程序并连接了 Cloudflare。据我所知,无法删除默认的 Heroku 域 (app.herokuapp.com),因此我将主机 'app.herokuapp.com' 的所有请求转发到 'mydomain.com'。但是 Cloudflare 会保护我免受直接针对 Heroku 域的攻击吗?如果不是,是否可以删除默认域或以某种方式隐藏它?

你在所有方面都是正确的。我正在为您提供基本卸载攻击的简单方法。所有方法都是朝向301重定向and/or包转发。

But will Cloudflare secure me from attacks straight to a Heroku domain?

Cloudflare has a service which they say CNAME flattening。几年前,dnsmadeeasy 发现了 一个名字。它们不是 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 记录中。

If no, is it a way to remove default domain or hide it somehow?

官方301重定向,包转发也可以。有一些方法可以拥有专用 IP 并转发 TCP 数据包。他们有 3 种类型的附加组件 --

  1. /addons/proximo
  2. /addons/fixie.
  3. /addons/quotaguardstatic.

它们在应用程序级别并不总是那么容易,但可能比向所有人开放这样的裸子域更安全。 PaaS is facing increasing DDoS now。那是另一回事。