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

为什么自定义域重定向到herokuapp.com?,heroku,ghost,Heroku,Ghost,根据,我们可以通过自定义域myapp.com访问托管在myapp.herokuapp.com的Heroku应用程序 我已将以下记录添加到我的GoDaddy DNS区域文件中: A (Host) Host Points To TTL -------------------------------------------------- @ 50.63.202.1 1/2 Hour CName

根据,我们可以通过自定义域
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
域中,单击链接即可——除非单击指向主页的链接,否则我们将重定向到
myapp.herokuapp.com
地址

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

heroku日志的输出--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域的输出-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更新为“”修复了此错误。我以为我已经设置好了,但我把它改成了“”,这样我就可以访问管理面板,它不接受来自URL而不是HEROKU_URL的请求


我在Chrome上也遇到了一个单独的问题,在请求到达服务器之前自动重定向是有帮助的,而不是有帮助的,因此节点应用程序收到了一个对myapp.herokuapp.com的请求。我通过尝试使用其他浏览器访问我的应用程序发现了这一点。我清除了浏览器cookies和缓存,myapp.com不再在Chrome中重定向。

在使用
https://github.com/SNathJr/ghost-on-heroku
deploy脚本,我更新了APP\u PUBLIC\u URL以使用
http://example.com


另外,我在Cloudflare中设置了一个页面规则,使用
http://*example.com/*
,设置为:
始终使用HTTPS

以便在以后进行后续操作。我也有同样的问题。 使用Heroku+Cloudflare+自定义域。安德烈·埃尔多斯的回答很有效

APP_PUBLIC_URL中的https将导致301重定向



对于较新版本的Ghost(3.x),在使用部署脚本时,我更新了要使用的APP_PUBLIC_URL

此外,我还在Cloudflare中设置了一个页面规则以供使用http://example.com/ 设置为:始终使用HTTPS



谢谢!我忽略了这一部分,过于关注域部分,我没有看到ENV变量;)@斯坦很高兴这帮了你:)为了让Chrome玩得更好,我必须刷新Chrome的DNS缓存()和套接字,以及操作系统的DNS缓存。这样做了足够多的时间,效果很好。非常感谢。