我无法用Windows上的Web服务器解释这种行为。它位于域防火墙中,并将Windows防火墙设置为域策略。
我不明白WEBRick和Jenkins用来接受远程连接的服务器。
我应该研究其他诊断吗? 是否可以将Tomcat配置为使用类似的方法?
答案 0 :(得分:0)
我不能说很多关于WEBRick或Jenkins,但是对于Tomcat - 如果你看看Tomcat 7源代码(StandardServer.java
),你会看到:
// Set up a server socket to wait on
try {
awaitSocket = new ServerSocket(port, 1,
InetAddress.getByName(address));
} catch (IOException e) { ... }
这意味着,无论您在地址中指定了什么(在server.xml
中),都要经过这个。
InetAddress.getByName
的{{3}}说:
主机名可以是机器名,例如“java.sun.com”,或 其IP地址的文本表示。如果是文字IP地址 提供时,只检查地址格式的有效性。
如果我是你,我会先尝试设置IP地址,看看是否有任何问题。
第二步是检查您的本地名称解析策略是否不正确(hosts
文件)。我一直处在本地hosts
文件不正确或包含不可解析的条目的情况下,导致各种奇怪的问题,例如你所拥有的。
答案 1 :(得分:0)
听起来您的远程请求永远不会到达不回复的服务。这意味着它是防火墙或NAT问题。我不认为这是一个配置问题,因为你从本地机器localhost:port和FQDN:端口都说工作。
要进行诊断,一个好的第一步是查看是否与远程网络进行远程通信。
telnet主机名端口
如果您没有看到Connected to FQDN.
响应,则防火墙,硬件或本地软件防火墙会阻止连接。您需要确保防火墙的所有正确端口都打开,转发等。