如何从Heroku上Node.js应用程序的子文件夹重定向到静态javascript应用程序?

如何从Heroku上Node.js应用程序的子文件夹重定向到静态javascript应用程序?,javascript,node.js,.htaccess,firebase,heroku,Javascript,Node.js,.htaccess,Firebase,Heroku,我有一个内置于React中的静态javascript应用程序,我已经将其部署到firebase,并且位于example.firebaseapp.com 我还有一个节点应用程序,为我的主应用程序提供服务,位于www.example.com,托管在Heroku上 我想弄清楚的是,在访问给定的子文件夹(例如www.example.com/app)时,如何让用户访问我的静态javascript应用程序 还有,有没有一种方法可以让我不必处理CORS问题,因为它们基本上生活在同一个域上 在服务于主应用程序的

我有一个内置于React中的静态javascript应用程序,我已经将其部署到firebase,并且位于
example.firebaseapp.com

我还有一个节点应用程序,为我的主应用程序提供服务,位于
www.example.com
,托管在Heroku上

我想弄清楚的是,在访问给定的子文件夹(例如
www.example.com/app
)时,如何让用户访问我的静态javascript应用程序


还有,有没有一种方法可以让我不必处理CORS问题,因为它们基本上生活在同一个域上

在服务于主应用程序的服务器上使用nginx。通过这种方式,您将不会有cors问题,用户也不会感觉到他被服务于不同的域

您可以从以下nginx配置开始:

location / {
  proxy_set_header   X-Real-IP $remote_addr;
  proxy_set_header   Host      $http_host;
  proxy_pass         http://YOURTOMCATSERVER:{PORT};
}

location /blog {
  proxy_set_header   X-Real-IP $remote_addr;
  proxy_set_header   Host      $http_host;
  proxy_pass         http://YOURBLOGSERVER:{PORT};
}

这有用吗?不,那有点不同。我试图为一个完全不同领域的应用程序提供服务,但我不确定如何为该应用程序的内容提供服务。我读过一些关于使用反向代理的不同内容,但我不确定这是否是最好的方法。啊,对不起,明白了。我错过了不同领域的方面。您可能想考虑将静态应用程序移动到HeloCu。我怀疑这比从Heroku代理/缓存Firebase应用程序或从Heroku代理/缓存Firebase应用程序更简单、性能更高(尤其是在静态应用程序更新期间),并且容错性更强。我知道这不是你要的,但从长远来看,这可以简化事情。是的,谢谢你的建议。我选择Firebase的原因是,它允许我快速/轻松地将编译后的静态资产(html、css、js、图像)部署到公共URL,而无需集成到另一个节点应用程序中,然后将其部署到另一个heroku实例。也许我想错了。好名字顺便说一句:)读起来很混乱,威尔:)威尔提供了很好的建议。如果没有反向代理为来自
example.com
域的请求提供服务并将其传递到
firebaseapp.com
,则无法实现这一点。为了提高性能,反向代理可以缓存它代表客户机获取的内容,但我感觉这比保证的要复杂得多。或者,我们可以将CNAME记录分配给映射到Firebase的子域
app.example.com