gpt4 book ai didi

node.js - 在 kubernetes 上使用主机作为 localhost 公开 Node js 应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 00:05:52 25 4
gpt4 key购买 nike

我花了一整天的时间寻找答案,为什么当我使用负载均衡器作为服务类型在 Kubernetes 上运行我的 Node js 应用程序时,无法从互联网访问它。解决方案是在 Node js 服务器应用程序定义中将主机从 localhost 更改为 0.0.0.0,但我仍然不知道为什么?

我希望这可以节省将来的时间。

最佳答案

当你说你设置了主机时,我想你的意思是应用程序被告知在监听函数中监听什么,例如 express app server . listen all intefaces instead of localhost only您可以绑定(bind)到特定地址,或使用 0.0.0.0 掩码(零作为匹配掩码,而不是真正的 IP 地址 - https://stackoverflow.com/a/20778887/9705485)将其对所有人开放。

我想您的应用程序在本地运行良好,并且能够使用本地主机配置从主机访问它。这是因为您的本地计算机将以符合掩码的方式访问它。您的配置实际上表明只有本地主机可以访问此应用程序。因此,当您移植到 Kubernetes 时,您的机器必须通过网络,并且传入连接是您机器的外部/公共(public) IP 地址,该地址与本地主机掩码不匹配。因此,为了使其正常工作,您更改了掩码以使其对所有 IP 开放。

关于node.js - 在 kubernetes 上使用主机作为 localhost 公开 Node js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52346212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com