根据这个 Heroku 文档myapp.herokuapp.com
,我们可以允许使用自定义域访问托管在的 Heroku 应用程序myapp.com
。
我已将以下记录添加到我的 GoDaddy DNS 区域文件中:
A (Host)
Host Points To TTL
--------------------------------------------------
@ 50.63.202.1 1/2 Hour
CName (Alias)
Host Points To TTL
--------------------------------------------------
email email.secureserver.net 1/2 Hour
ftp @ 1/2 Hour
www myapp.herokuapp.com 1/2 Hour
通常 A 记录指向服务器。在这种情况下,Heroku 没有为其云应用程序提供 IP 地址,显然 CNAME 就足够了。
导航到www.myapp.com
或myapp.com
重定向到https://myapp.herokuapp.com
. 但是,导航到http://www.myapp.com/blog/post/1
(不是主页的任何地址)将保留在www.myapp.com
域中,并且单击链接是可以的——除非单击指向主页的链接,否则我们会被重定向到该myapp.herokuapp.com
地址。
如何设置它以使访问者看不到 herokuapp.com 地址,除非使用该地址访问它?
heroku logs --tail --app myapp 的输出:
2016-03-11T01:13:49.756887+00:00 heroku[router]: at=info method=GET path="/" host=vast-hamlet-33090.herokuapp.com request_id=6177aa6c-dc5f-4de5-a1c6-1ff8b1194849 fwd="24.17.117.236" dyno=web.1 connect=1ms service=24ms status=304 bytes=181
2016-03-11T01:13:49.760014+00:00 app[web.1]: 24.17.117.236 - - [11/Mar/2016:01:13:49 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36"
看起来该应用从未收到来自 www.myapp.com 的请求,而只收到来自 myapp.herokuapp.com 的请求。
heroku domain -a myapp 的输出:
=== myapp Heroku Domain
myapp.herokuapp.com
=== myapp Custom Domains
Domain Name DNS Target
------------------ -------------------
www.myapp.com myapp.herokuapp.com
myapp.com myapp.herokuapp.com