为什么自定义域重定向到herokuapp.com?

时间:2016-03-09 05:50:22

标签: heroku ghost

根据this Heroku documentation,我们可以允许使用自定义域myapp.herokuapp.com访问myapp.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.commyapp.com重定向至https://myapp.herokuapp.com。但是,导航到http://www.myapp.com/blog/post/1(任何地址而不是主页)都将保留在www.myapp.com域中,点击链接即可 - 除非点击指向首页的链接,否则我们会重定向到{{1地址。

如何设置以便访问者看不到herokuapp.com地址,除非使用该地址访问该地址?

heroku日志的输出--tail --app myapp:

myapp.herokuapp.com

该应用似乎从未收到来自www.myapp.com的请求,但仅收到myapp.herokuapp.com。

heroku域的输出-a 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"

3 个答案:

答案 0 :(得分:7)

在我使用Ghost的情况下,将Ghost配置中的HEROKU_URL更新为' http://www.myapp.com'修复了这个错误。我以为我已经设置了这个,但我把它更改为' http://myapp.herokuapp.com'所以我可以访问管理员面板,该面板不接受来自网址的请求而不是HEROKU_URL。

我还自动向Chrome发出了一个单独的问题,在请求到达服务器之前,帮助无助地重定向,因此Node应用程序收到了myapp.herokuapp.com的请求。我通过尝试使用其他浏览器访问我的应用程序来发现这一点。我清除了浏览器cookie和缓存,并且不再在Chrome中重定向myapp.com。

答案 1 :(得分:1)

对于使用https://github.com/SNathJr/ghost-on-heroku部署脚本时的较新版本的Ghost(3.x),我将APP_PUBLIC_URL更新为使用http://example.com

我还在Cloudflare中设置了一个页面规则,以将http://*example.com/*用于设置Always use HTTPS

答案 2 :(得分:0)

稍后再跟进。我遇到过同样的问题。 使用Heroku + Cloudflare +自定义域。 Andrei Erdoss的答案有效。

APP_PUBLIC_URL中的

https将导致301重定向。


对于使用https://github.com/SNathJr/ghost-on-heroku部署脚本时的较新版本的Ghost(3.x),我将APP_PUBLIC_URL更新为使用http://example.com

我还在Cloudflare中设置了一个页面规则,以将http:// example.com/ 用于以下设置:始终使用HTTPS