看来,当我远程启动heroku服务器时,它将为端口选择一个随机值。通过使用process.env.PORT值在服务器上可以很好地处理此问题,但是硬编码客户端如何知道要使用哪个端口连接到heroku服务器?似乎没有办法强制heroku端口值-这似乎是为了实现出色的服务器重新启动能力和容器问题以及防止端口冲突。太酷了,但是我该如何使用端口不时更改的服务器?
答案 0 :(得分:0)
虽然您的应用需要在随机端口上侦听,但从局外人的角度来看,您始终会在端口80或443上打开连接。
Heroku在每次连接中首先使用router。
每当有一个请求发送到appname.herokuapp.com
或您配置的自定义域时,该请求就会发送到该路由器。
路由器知道您正在运行的所有测功机(以及应用程序运行所在的端口),并将随机选择一个以将连接发送至。