我在heroku上部署了两个微服务(使用nest.js)。当我尝试连接时,我得到这个错误:错误:getaddrinfo ENOTFOUND https://URL.herokuapp.com
这是我连接微服务的方式。
{
imports: [ConfigModule],
inject: [ConfigService],
name: 'CURRENCY_SERVICE',
useFactory: (configService: ConfigService) => {
return {
transport: Transport.TCP,
options: {
host: configService.services.currency.host,
port: configService.services.currency.port,
},
}
},
}
我找不到heroku分配的端口号。所以我只是在应用程序启动后记录端口号并复制到。env文件。
这是我的。env文件
CURRENCY_SERVICE_HOST=https://URL.herokuapp.com
CURRENCY_SERVICE_PORT=53294 # I copied this port number from view logs section on heroku
我也尝试访问没有端口,但仍然无法连接。顺便说一下,我可以在本地主机上连接。我只需要找到正确的连接凭据,请帮助我
这是第一个也是最基本的测试。尝试在浏览器中访问这些url,看看应用程序是否按预期运行,是否可以解析。如果您的API URI是https://URL.herokuapp.com/api/v0/endpoint
在浏览器中打开应用程序的API URI以确保它正常工作。
接下来,假设两个服务都是后端nodejs应用程序,需要通过服务器到服务器的API调用相互通信,你要确保它们之间的通信在Heroku上工作。
似乎您在排除故障和记录这一步的正确轨道上,但您肯定不想使用内部端口号。您确实想要使用公共URL https://URL.herokuapp.com。当使用HTTPS时,它总是在443端口上。
关于在Heroku上配置、部署和运行微服务的更多帮助,请参考下面的答案。如何在Heroku上部署微服务希望这有帮助。好运!