Rails应用部署至Heroku后显示“No such app”但日志无异常问题排查求助
嘿,我来帮你梳理下几个可能的排查方向,毕竟这种日志显示应用正常启动但访问却提示“No such app”的情况确实有点让人困惑:
确认访问域名的正确性
有时候可能只是手滑输错了应用名称,导致访问的域名根本不存在。你可以执行heroku apps命令列出账号下所有应用,找到你部署的那个应用,确认它的正确域名是[你的应用名].herokuapp.com。也可以直接用heroku open命令让Heroku帮你打开应用,这样能彻底排除域名输入错误的问题。检查应用进程与状态
虽然日志里显示heroku[web.1]: State changed from starting to up,但还是可以用heroku ps命令再确认下进程状态,确保web进程确实处于up状态,没有异常重启或者未启动的情况。另外,也可以检查下应用有没有因为免费额度耗尽被暂停,不过休眠的应用通常会显示专门的休眠页面,而非“No such app”,但确认下也没坏处。核对Git远程仓库关联
确保你推送代码的远程仓库是对应目标应用的Heroku仓库。执行git remote -v查看远程仓库列表,Heroku对应的URL应该是https://git.heroku.com/[你的应用名].git(或SSH格式的地址)。如果关联错了应用,用heroku git:remote -a [你的应用名]命令重新关联即可。排查DNS缓存问题
有时候本地DNS缓存可能导致你访问的域名还没指向Heroku的服务器。可以尝试用浏览器无痕模式、换个浏览器或者换个网络环境访问,看看是否能正常打开。也可以用nslookup [你的应用名].herokuapp.com命令查看DNS解析结果,确认是否指向Heroku的IP地址。重新触发部署流程
偶尔会出现构建日志显示成功但实际部署未完全完成的情况。你可以执行git push heroku main(如果你的主分支是main的话,或者换成你的默认分支名)重新推送代码,触发完整的部署流程,之后再尝试访问应用。
内容的提问来源于stack exchange,提问作者Balint Erdi

