提问者:小点点

如何将node.js路由添加到谷歌域?


我有一个网站,我创建了使用WebFlow,它是链接到我在谷歌域名购买的mydomain.com,所有工作良好。

我还有一个托管在Heroku上的Node.js应用程序,我希望它可以在mydomain.com/admin上使用。

这可能在Heroku上设置吗?我尝试使用子域来设置它,但是不起作用,而且使用mydomain.com会将用户带到我的node.js应用程序的“/”页面,而不是WebFlow页面。

我需要什么才能设置这个?

谢谢你的帮助!


共2个答案

匿名用户

我的建议是为您的nodejs应用程序使用一个子域,比如admin.mydomain.com

通常,当你编写一个nodejs应用程序和你自己的前端(不管它是用React/Angular/Vue/普通的旧html,css还是javascript编写的)时,你会使用nginx来配置它们,并且每个都被分配到相同的ip地址但是不同的端口(我已经回答过Laravel和React类似的问题,它们在不同的端口上配置它们,所以相同的概念,但是改变技术来满足你的需求,部署Laravel和React spa)

或者您可以编写前端代码以从后端呈现(服务器端呈现类似nextjshttps://Nextjs.org/的内容,它让您的服务器端呈现反应)

当您使用诸如WebFlow之类的外部服务时,这一点会发生一些变化

mydomain.com被配置为与您的WebFlow网站一起工作,我不知道它是如何配置的,但我假设它的配置方式是WebFlow引用您的CNAME和一个名称,以便与您的WebFlow网站完美地工作,因此它的配置方式类似于CNAME引用mydomain.WebFlow.com和一个引用WebFlow网站服务器的ip地址(在这里阅读有关它的更多信息:https://support.dnsimple.com/articles/differsions-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保留的,因此您可能无法使用它

我希望我的回答能帮上点忙

匿名用户

部署一个简单的仅nginx服务器。数字海洋或AWS的前任。然后将其配置为2个位置

/-----用于mydomain.com

/admin----到您的heroku应用程序

您还可以使用这台nginx服务器执行缓存负载平衡。