1

我已通过以下命令阻止了端口 8070:

sudo iptables -A INPUT -p tcp --destination-port 8070 -j DROP

现在,当我在端口 8070 上的嵌入式 Tomcat 7 中部署我的 Web 应用程序时,如果我通过 URLhttp://localhost:8070/app或访问http://192.168.1.3:8070/app,我总是得到异常Connection timed out。这很正常,因为我已经封锁了那个端口。

http://192.168.1.3:8070/app但是当我通过 chrome 浏览器访问 URL 时,我收到了Connection Timed out错误消息。这也符合预期。但是当我尝试http://localhost:8070/app通过 chrome 浏览器访问时,它给了我成功的响应。这是不寻常的。

为什么我可以通过 localhost 上的浏览​​器访问,但不能通过 Apache HttpClient 库访问?

4

2 回答 2

0

请注意,这应该在serverfault.com上。

但是您应该尝试iptables像这样指示您的网络接口:

iptables -A INPUT -p tcp -s 192.168.1.3 --destination-port 8070 -j DROP
iptables -A INPUT -p tcp -s localhost --destination-port 8070 -j DROP
于 2012-06-05T09:00:33.950 回答
0

Chrome 使用 IPv6,因此它可以使用它解析 localhost,其他示例使用 IPv4。所以检查你的主机文件是否包含::1本地主机的条目?

您也可以使用以下命令行标志尝试不使用 IPv6 for chrome:

--disable-ipv6

于 2012-06-05T09:01:56.637 回答