1

我无法用 Windows 上的 Web 服务器来解释这种行为。它位于将 Windows 防火墙设置为域策略的域环境中。

  • 本地 Web 服务器 - 作为 localhost:port 和 FQDM:port
    • 雄猫好
    • IIS 正常
    • WEBrick OK
    • 詹金的服务器 - 好的
  • 远程访问 - 使用 FQDM:port
    • Tomcat没有连接
    • IIS 无连接
    • WEBrick OK
    • 詹金的服务器 -好的

我不明白 WEBRick 和 Jenkins 用来接受远程连接的服务器是什么。

还有其他我应该研究的诊断吗?是否可以将 Tomcat 配置为使用类似的方法?

4

2 回答 2

0

听起来您的远程请求永远不会到达不回复的服务。这意味着这是防火墙或 NAT 问题。我认为这不是配置问题,因为您从本地机器 localhost:port 和 FQDN:port 中说两者都可以工作。

要进行诊断,第一步是查看是否有任何与 telnet 的远程通信。

telnet 主机名端口

如果您没有看到Connected to FQDN.响应,则说明防火墙、硬件或本地软件防火墙阻止了连接。您将需要确保路上的防火墙打开所有正确的端口、转发等。

于 2012-09-21T19:27:05.623 回答
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说:

主机名可以是机器名,例如“java.sun.com”,也可以是其 IP 地址的文本表示。如果提供了文字 IP 地址,则仅检查地址格式的有效性。

如果我是你,我会先尝试设置 IP 地址,看看是否有任何问题。

第二步是检查你是否有错误的本地名称解析策略(hosts文件)。我遇到过本地hosts文件不正确或包含不可解析条目的情况,从而导致各种奇怪的问题,例如您遇到的问题。

于 2012-09-17T09:08:06.150 回答