我最近在Google Cloud上设置了Debian 8 Jessie VM。我已安装Jenkins并启动并运行服务(通过" sudo service jenkins status"验证),但我无法从另一台机器连接到VM的外部IP 。我曾经从我的个人计算机上运行Jenkins,直到我决定需要一台专用服务器来连续运行它。当我在我的个人计算机上运行它时,我只访问localhost:8080并且Jenkins仪表板将加载相当快。但是,在尝试访问运行Jenkins的VM的外部IP地址时,我通常会遇到" Connection refused"在我的网络浏览器中。
根据我在这些问题上看到的大多数帖子的建议,我已经解除了VM上的所有防火墙,并试图确保VM正在侦听正确的IP地址,但似乎没有能够改变我的浏览器提供的结果。问题最有可能存在于哪里:VM,Google Cloud或Jenkins?我不知所措。
答案 0 :(得分:1)
我的第一个猜测是连接/防火墙问题。要对此进行测试,您可以使用SSH尝试端口转发:使用本地端口转发到您的服务器的SSH:ssh -L 8080:localhost:8080 yourserver
。然后,您应该能够在 http://localhost:8080/ 处引导您的Web浏览器,并且您的数据包将通过SSH连接流动。如果这有效,请好好看看
How to open a specific port such as 9090 in Google Compute Engine。或者更好的是,如果您是唯一使用该Jenkins服务器的人,请继续使用SSH隧道。它比向公共世界开放詹金斯更安全。
答案 1 :(得分:0)
您是否尝试在VM上安装tcpdump并进行数据包捕获?这样您就可以确定流量的丢弃位置。如果您没有看到任何流量,那么它会在到达您的VM之前被丢弃到云中的某个位置。如果你看到流量,那么你需要确定它是Jenkins还是主机上的某个代理(也许是防火墙,但你提到你清除了所有规则)......我建议停止Jenkins服务,然后再尝试访问它。你得到了相同的"拒绝连接"信息?如果是这样,那么它就是VM上的东西。如果没有,那么它就是应用层的东西,即Jenkins。
快乐狩猎!!!