繁体   English   中英

Tomcat 7拒绝连接

[英]Connection refused with Tomcat 7

我在Jelastic上运行了一个Tomcat实例,并且有两个部署的应用程序 - 用于'/ foo'上下文和'/ bar'上下文。

在处理对'/ foo'的请求期间,我们对'/ bar'进行HTTP请求(用于授权),并且此处始终存在异常 - ConnectException:ConnectionRefused。

如果我通过浏览器或在我的本地PC上运行的代码连接到'/ bar',一切都很完美。 此外,如果我从服务器(在处理请求到'/ foo'期间)连接到位于不同位置的主机,一切都按预期工作。 看起来Tomcat以某种方式过滤来自同一主机的传入连接。 有人知道该怎么办吗?

“连接被拒绝”消息表示某些内容无法在传输级别打开网络连接。 这很可能意味着您尝试与之通信的服务未在侦听连接尝试中使用的特定IP和端口号上的新连接。

校验:

  1. 被拒绝的请求使用正确的IP和端口号。
  2. 您的tomcat服务已正确配置为侦听该IP和端口。

请记住,您的系统可能有多个IP地址,您需要收听您希望使用的每个IP地址。 还要记住,“本地主机”通常是不同的IP地址。

如果以上都不是问题:

  1. 如果网络级别或本地防火墙可能阻塞流量,请检查。
  2. 如果由于复杂的虚拟网络导致“陌生”的可能性,请检查。

看起来Tomcat以某种方式过滤来自同一主机的传入连接。

Tomcat不像那样“过滤”。 但是很有可能你没有配置tomcat来监听请求。 检查“server.xml”文件以查看是否已正确配置。


FWIW - 我不认为这是Tomcat7 CSRF过滤器。 根据文档,这将返回HTTP响应。 事实上,我无法看到接收Tomcat中的任何内容如何通过除了不首先监听连接之外的任何方式产生“连接被拒绝”状态。

连接拒绝绝对意味着网络问题。 其中一个潜在的原因是您的应用程序尝试使用http标头“host”值等建立连接,并且通常标题“host”值不包含8080端口字符串-BUT- tomcat在Jelastic正在端口8080上运行,所以您可以尝试连接到您的第二个应用程序强制指定端口8080或联系您的支持并要求他们设置iptables规则,将所有请求(在您的tomcat容器内)从80重定向到8080端口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM