首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么有些网络API能够接受远程连接,而另一些则不能呢?

为什么有些网络API能够接受远程连接,而另一些则不能呢?
EN

Stack Overflow用户
提问于 2012-08-25 03:08:48
回答 2查看 192关注 0票数 1

对于windows上的web服务器,我无法解释这种行为。它位于一个将windows防火墙设置为域策略的域环境中。

  • 本地web服务器-作为本地主机:端口和FQDM:端口
    • 猫猫好的
    • IIS确定
    • WEBrick正常
    • 詹金的服务器-好的

  • 远程访问-使用FQDM:端口
    • 猫无连接
    • IIS无连接
    • WEBrick OK
    • 詹金的服务器- OK

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

还有其他的诊断需要我去调查吗?是否可以将Tomcat配置为使用类似的方法?

EN

回答 2

Stack Overflow用户

发布于 2012-09-17 09:08:06

关于WEBRick或Jenkins,我不能说太多,但是对于Tomcat --如果您查看Tomcat 7源代码(StandardServer.java),您将看到:

代码语言:javascript
复制
// 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文件不正确或包含不可解决的条目,导致各种奇怪的问题,如您正在处理的问题。

票数 0
EN

Stack Overflow用户

发布于 2012-09-21 19:27:05

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

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

telnet主机名端口

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12118837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档