我的建议是为您的 nodejs 应用程序使用子域,例如 admin.mydomain.com
通常,当您编写 nodejs 应用程序和您自己的前端(无论它是用 React/Angular/Vue/plain old 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 app heroku ip地址是20.20.20.1
当您键入mydomain.com/admin 并且它被引用到WebFlow 站点时,就像键入10.10.10.1/admin 一样
要实现10.10.10.1/admin引用nodejs应用程序的部分,它们应该在同一台服务器上并配置在不同的端口但在相同的IP地址下
但由于它们不是,所以它不会像你期望的那样实现
也别忘了/admin 可能是为 WebFlow 保留的,所以你可能无法使用它
希望我的回答能有所帮助