我的api.<base-url>
子域名没有正确配置。我通过AWS购买了一个域名,并将其连接到在Netlify上运行的我的静态网站。为此,我设置Route53使用Netlify的名称服务器。对于顶级域名,这很正常,https://<base-url>
将我发送到静态网站。
我还在Heroku上运行一个节点实例,我希望它托管在api.<base-url>
。目前,它可以通过Heroku提供的URL (<project-name>.herokuapp.com
)访问。
我为Netlify网站的api子域名添加了自定义域名,我的heroku domains
命令的结果如下:
➜ heroku domains
=== <project-name> Heroku Domain
<project-name>.herokuapp.com
=== <project-name> Custom Domains
Domain Name DNS Record Type DNS Target
api.<base-url> CNAME fitted-lemon-gzwby8exkguturnmh2emy5l4.herokudns.com
我在Route53上创建了一个CNAME记录,指向Heroku的DNS目标。这种方式可以实现,运行
host api.<base-url>
会得到如下结果:➜ host api.<base-url>
api.<base-url> has address 104.248.60.43
api.<base-url> is an alias for <project-name>.herokuapp.com.
api.<base-url> is an alias for <project-name>.herokuapp.com.
所以我的Heroku应用程序已别名为"my heroku app",但是当我直接访问
api.<base-url>
时,我会看到一个白色页面上写着“Not Found”,这似乎是Netlify的问题而不是Heroku的问题?但我不确定。我觉得我需要以某种方式告诉Netlify在api.<base-url>
有一个自定义子域名,但我在文档中能找到的唯一一件事是设置Netlify的子域名来自项目的其他分支,而不是在其他地方托管子域名。
将api<base-url>
设置为Netlify自定义域名最终会将所有api.<base-url>
的流量路由到静态Netlify站点<base-url>
,而不是我的Heroku应用程序。我做了几次尝试,但目前还没有成功,我officially遇到了困难。提前感谢您!