您当前的位置:首页 > 时尚 > 内容

Heroku,+,node.js:我有一台使用多个端口的服务器。如何让Heroku分配它们?

导读: Heroku,+,node.js:我有一台使用多个端口的服务器。如何让Heroku分配它们?--好的,经过研究后,我发现Heroku中的开放端口已被 并且是 。 解决此问题的 是使用 ,然后在应用程序内使用代理模块(例如 subdomain-router 我使用的代理模块)。 -Heroku不答应您在其域上创建子域,这意味着它 your-... Heroku,+,node.js:我有一台使用多个端口的服务器。如何让Heroku分配它们?

好的,经过研究后,我发现Heroku中的开放端口已被 并且是 。

解决此问题的 是使用 ,然后在应用程序内使用代理模块(例如subdomain-router我使用的代理模块)。

-Heroku不答应您在其域上创建子域,这意味着它your-app.herokuapp.com是固定的,不能有子域。 在Heroku手册中,他们要求您拥有自己的域和dns提供程序来执行此操作,方法是在域设置的dns表中创建一个A别名(CNAME),该别名将引用您的应用程序herokuapp域,然后使用heroku domains:add用于将您的域添加到答应的来源列表的命令。

您可以在这里阅读更多内容。它提供了您需要的所有信息。

希望它对一些人有所帮助。

嗯,我会尽量清晰一点。

在用node.js编写的应用程序服务器中,我具有用于多个端口的内部代理:

在我的8080港口,我有 休息用的api 。 在我的3000港口,我有 推服务器和聊天室 。

我使用npm包subdomain-router进行内部路由到端口,在“前端”中公开子域,这些子域代理回到那些端口。 代码演示: (<some-app>并非该应用的实名明显)

require('subdomain-router')({ host: '<some-app>.herokuapp.com',subdomains: { '': 8080,// <some-app>.herokuapp.com <=> ::8080 --WORKS-- 'api': 8080,// api.<some-app>.herokuapp.com <=> ::8080 'chat': 3000,// chat.<some-app>.herokuapp.com <=> ::3000 'push': 3000 // push.<some-app>.herokuapp.com <=> ::3000 }}).listen(process.env.PORT || 5000);

该API很好用,尽管我无法通过进行访问<some-app>.herokuapp.com:8080,而只能通过<some- app>.herokuapp.com并让内部subdomain-router模块实现它的魔力。 另外,我无法访问子域。尝试访问时,api.<some-app>.herokuapp.com我No such app从heroku中获取错误页面。

TL; DR 访问<some-app>.herokuapp.com作品(重定向到/v1路径为我的API),但无法访问<some- app>.herokuapp.com:8080,<some-app>.herokuapp.com:3000或chat.<some- app>.herokuapp.com。

尝试通过在url中指定端口来访问我的API( 例如<some- app>.herokuapp.com:8080:)时,在浏览器(谷歌浏览器)中出现以下错误:ERR_CONNECTION_REFUSED。

根据我的推测 ,这可能与在heroku中 打开端口 有关,但是我不知道如何执行此操作(尝试使用谷歌搜索功能)。 它没有解释为什么我不能访问子域。

希望您能对此问题有所启发。 我是heroku的新手,真让人感到沮丧。

谢谢! 阿米特


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 巴黎铁塔的历史与传说-巴黎铁塔的来历

下一篇: QQ亲密度评分在哪里?



猜你感兴趣

推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号