我有一个使用WebFlow创建的网站,该网站链接到我在Google Domains上购买的mydomain.com,一切正常。
我还有一个Heroku上托管的Node.js应用程序,我想在mydomain.com/admin上使用它。
是否可以在Heroku上进行设置?我尝试使用子域进行设置,但无法正常工作,使用mydomain.com会将用户带到我的Node.js应用程序的“ /”页面,而不是WebFlow页面。
我需要什么才能进行设置?
感谢您的帮助!
答案 0 :(得分:1)
我的建议是为您的nodejs应用使用子域,例如admin.mydomain.com
通常,当您编写一个nodejs应用程序和您自己的前端(无论它是用React / Angular / Vue /普通的旧HTML css和javascript编写的)时,您将使用nginx对其进行配置,并且每个都分配给相同的IP地址,但不同端口(我为Laravel和React回答了类似的问题,它们在不同的端口上配置它们,因此具有相同的概念,但更改技术以适应您的需求Deploy Laravel and React spa)
或者您可以编码前端以从后端渲染(服务器端渲染类似Nextjs https://nextjs.org/的东西,让您服务器端渲染React)
当您使用WebFlow之类的外部服务时,这会有所改变
mydomain.com
已配置为可与您的WebFlow网站一起使用,我不知道它是如何配置的,但我认为它的配置方式是WebFlow引用了您的CNAME和A名称以与您的WebFlow一起使用站点是完美无缺的,因此它的配置就像CNAME指的是mydomain.webflow.com
,A指的是WebFlow站点的服务器的ip地址(在此处https://support.dnsimple.com/articles/differences-a-cname-records/了解更多信息)
因此您将www.mydomain.com
引至您的WebFlow页面
,您将admin.mydomain.com
引到heroku上托管的nodejs应用
回答“为什么我不能仅仅使用mydomain.com/admin
来引用我的nodejs应用”的问题:
回溯引用:DNS服务器将mydomain.com
引用到WebFlow站点,因此当您在浏览器中键入mydomain.com
时,它将引用WebFlow站点的ip地址
假定WebFlow站点的ip地址为10.10.10.1 并且您的nodejs应用程序heroku ip地址为20.20.20.1
键入mydomain.com/admin
并引用到WebFlow网站时,就好像键入10.10.10.1/admin
要实现让10.10.10.1/admin
引用nodejs应用程序的部分,它们都应位于同一服务器上,并在不同的端口上配置,但应使用相同的IP地址
但是由于它们不是,所以不会如您所愿的实现
也不要忘记,/admin
是为WebFlow保留的,因此您可能无法使用它
希望我的回答有所帮助
答案 1 :(得分:1)
部署一个仅用于nginx的简单服务器。例如在数字海洋或aws上。然后将其配置为2个位置
/ ----- for mydomain.com
/ admin ----到您的heroku应用
您还可以使用此单个nginx服务器执行缓存负载平衡。