对于windows上的web服务器,我无法解释这种行为。它位于一个将windows防火墙设置为域策略的域环境中。
我不明白WEBRick和Jenkins服务器使用什么来接受远程连接。
还有其他的诊断需要我去调查吗?是否可以将Tomcat配置为使用类似的方法?
发布于 2012-09-17 09:08:06
关于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中),都要进行以下操作。
合同 of InetAddress.getByName说:
主机名可以是计算机名(如"java.sun.com“),也可以是其IP地址的文本表示。如果提供了文字IP地址,则只检查地址格式的有效性。
如果我是你,我会尝试先设置IP地址,看看是否有任何问题。
第二步是检查本地名称解析策略是否不正确(hosts文件)。我所处的情况是,本地hosts文件不正确或包含不可解决的条目,导致各种奇怪的问题,如您正在处理的问题。
发布于 2012-09-21 19:27:05
听起来您的远程请求永远不会到达不回复的服务。这意味着这是防火墙或NAT的问题。我不认为这是一个配置问题,因为您在本地机器localhost:port和FQDN:port都可以工作。
要诊断,一个好的第一步是看看是否有任何远程通信与telnet。
telnet主机名端口
如果您没有看到Connected to FQDN.响应,那么防火墙、硬件或本地软件防火墙会阻塞连接。您将需要确保防火墙的方式有所有适当的端口打开,转发等。
https://stackoverflow.com/questions/12118837
复制相似问题