2012-08-25 22 views
1

我很茫然地解释这种行为与Windows上的Web服务器。它位于将Windows防火墙设置为域策略的域环境中。为什么某些网络API能够接受远程连接,而其他网络API则不能?

  • 本地Web服务器 - 都为localhost:端口和FQDM:端口
    • Tomcat的OK
    • IIS OK
    • 的WEBrick OK
    • 詹的服务器 - OK
  • 远程访问 - 使用FQDM:端口
    • Tomcat否连接
    • IIS没有连接
    • 的WEBrick OK
    • 詹的服务器 - OK

我不明白的WEBrick和服务器詹金斯用来接受远程连接。

我还有其他的诊断方法吗? 是否可以配置Tomcat使用类似的方法?

+0

Tomcat和IIS错误/访问日志中是否有任何条目?如果您对机器进行tracert/traceroute,是否会得到完整的跟踪?服务器是否可以ping通?防火墙是否记录下IIS/Tomcat?你可以发布你的Tomcat和IIS配置吗? – hughdbrown

+0

你的意思是说,当你在防火墙内访问它们时,所有这些都在localhost上?但是只有WEBrick和Jenkins可以通过远程访问来访问?另外,您的远程访问意味着什么 - 不是您的计算机,而是仍在同一个内部网络上,或者您是否从防火墙之外访问它们?无论如何,这听起来像是一个端口阻塞问题。请说明每个使用的端口。 –

回答

0

我不能告诉太多关于使用WEBrick或詹金斯,但对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.getByNamecontract说:

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

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

第二步是检查您是否有本地名称解析策略不正确(hosts文件)。我一直在当地的hosts文件不正确或包含不可解析的条目,导致各种奇怪的问题,如你有。

0

这听起来像你的远程请求永远不会到达没有回复的服务。这意味着它是一个防火墙或NAT问题。我不认为这是一个配置问题,因为你说从本地计算机本地主机:端口和FQDN:端口都工作。

为了进行诊断,首先要确定是否有远程通信与远程登录。

的telnet主机端口

如果你没有看到Connected to FQDN.响应,那么防火墙,硬件或本地软件防火墙,阻断了连接。您将需要确保防火墙的方式有所有正确的端口打开,转发等。