为什么自定义域重定向到 herokuapp.com?
Why does a custom domain redirect to herokuapp.com?
根据 this Heroku documentation,我们可以允许使用自定义域 myapp.com
.
访问托管在 myapp.herokuapp.com
的 Heroku 应用程序
我已将以下记录添加到我的 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
域中,单击 link 是可以的——单击 link 到主页我们被重定向到 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 domains -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
在我使用 Ghost 的情况下,将 Ghost 配置中的 HEROKU_URL 更新为“http://www.myapp.com' fixed this error. I thought I had this set up, but I changed it to 'http://myapp.herokuapp.com”,这样我就可以访问管理面板,它不接受来自非 [=17] 的 URL 的请求=].
我还遇到了一个单独的问题,即 Chrome 在请求到达服务器之前自动重定向,有帮助但无帮助,因此 Node 应用程序收到了 myapp.herokuapp.com 的请求。我通过尝试使用其他浏览器访问我的应用程序发现了这一点。我清除了浏览器 cookie 和缓存,myapp.com 不再在 Chrome 中重定向。
对于较新版本的 Ghost (3.x),在使用 https://github.com/SNathJr/ghost-on-heroku
部署脚本时,我更新了 APP_PUBLIC_URL 以使用 http://example.com
。
我还在 Cloudflare 中设置了一个页面规则以使用 http://*example.com/*
设置:Always use HTTPS
稍后跟进。我遇到过同样的问题。
使用 Heroku + Cloudflare + 自定义域。 Andrei Erdoss 的回答有效。
APP_PUBLIC_URL 中的 https 将导致 301 重定向。
对于更新版本的 Ghost (3.x),同时使用 https://github.com/SNathJr/ghost-on-heroku deploy script, I updated the APP_PUBLIC_URL to use http://example.com。
我还在 Cloudflare 中设置了一个页面规则以使用 http://example.com/ 和设置:始终使用 HTTPS
根据 this Heroku documentation,我们可以允许使用自定义域 myapp.com
.
myapp.herokuapp.com
的 Heroku 应用程序
我已将以下记录添加到我的 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
域中,单击 link 是可以的——单击 link 到主页我们被重定向到 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 domains -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
在我使用 Ghost 的情况下,将 Ghost 配置中的 HEROKU_URL 更新为“http://www.myapp.com' fixed this error. I thought I had this set up, but I changed it to 'http://myapp.herokuapp.com”,这样我就可以访问管理面板,它不接受来自非 [=17] 的 URL 的请求=].
我还遇到了一个单独的问题,即 Chrome 在请求到达服务器之前自动重定向,有帮助但无帮助,因此 Node 应用程序收到了 myapp.herokuapp.com 的请求。我通过尝试使用其他浏览器访问我的应用程序发现了这一点。我清除了浏览器 cookie 和缓存,myapp.com 不再在 Chrome 中重定向。
对于较新版本的 Ghost (3.x),在使用 https://github.com/SNathJr/ghost-on-heroku
部署脚本时,我更新了 APP_PUBLIC_URL 以使用 http://example.com
。
我还在 Cloudflare 中设置了一个页面规则以使用 http://*example.com/*
设置:Always use HTTPS
稍后跟进。我遇到过同样的问题。 使用 Heroku + Cloudflare + 自定义域。 Andrei Erdoss 的回答有效。
APP_PUBLIC_URL 中的 https 将导致 301 重定向。
对于更新版本的 Ghost (3.x),同时使用 https://github.com/SNathJr/ghost-on-heroku deploy script, I updated the APP_PUBLIC_URL to use http://example.com。
我还在 Cloudflare 中设置了一个页面规则以使用 http://example.com/ 和设置:始终使用 HTTPS