无法使用IP地址访问Tomcat

时间:2011-06-05 21:55:41

标签: tomcat windows-7

我正在Windows 7上运行Tomcat 5.5实例(端口:8089)。

如果我打开http://localhost:8089/,服务器会正​​常运行,但它会在http://192.168.1.100:8089/

上给我一个错误(拒绝连接)

我认为这是防火墙问题......所以我禁用了它,但我仍然没有运气。

提前致谢。

解决:

地址=“0.0.0.0”添加到连接器字符串,它可以正常工作!非常感谢!

11 个答案:

答案 0 :(得分:19)

您需要在server.xml中对tomcat进行基于ip的访问,默认情况下禁用它。 打开server.xml搜索“

<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           URIEncoding="UTF-8"
           redirectPort="8443" />

这里添加一个新属性 useIPVHosts =“true” 所以它看起来像这样,

<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           URIEncoding="UTF-8"
           redirectPort="8443"
           useIPVHosts="true" />

现在重启tomcat,它应该工作

答案 1 :(得分:15)

你需要让Tomcat也听取192.168.1.100地址。

如果您希望它监听所有接口(IP-s),只需从配置文件中的Connector字符串中删除“address =”,然后重新启动Tomcat。

或者只是使用您的IP在连接器字符串

中侦听该地址= 192.168.1.100

答案 2 :(得分:10)

如果您无法从远程访问tomcat,可能是因为您的计算机中没有打开端口。假设您已经使用了8081端口。

在您的Windows机器上:

打开控制面板 - &gt; windows防火墙 - &gt;高级设置 - &gt;入站规则

创建新规则:提及端口

Picture1

配置您的端口,然后关闭并启动您的tomcat,它也可以从远程访问。

该端口问题主要出现在AWS机器上。

如果仍然无法正常工作,请与您的管理员核实所选端口是否开放供公众访问,如果没有则打开它。

答案 3 :(得分:9)

如果您尝试访问在apache tomcat服务器上运行的Web应用程序, 当你试图使用它时它可能是完美的     http://localhost:8080/ 如果您尝试在移动设备浏览器上访问它,它将无法正常工作。铬使用     http://192.168.x.x:8080/ 因此,如果您想通过远程/移动设备上的IP地址进行访问,请执行以下设置

  1. 打开server.xml文件。
  2. 更改

    <Connector connectionTimeout="20000" port="8080"protocol="HTTP/1.1" redirectPort="8443"/>
    
  3.     <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" address="0.0.0.0" />
    
    1. 保存文件
    2. 停止并重新启动服务器
    3. 现在使用IP地址http://192.168.1.X:8080/
    4. 访问您的移动设备

      你很高兴。

答案 4 :(得分:8)

新版本的应用程序服务器删除了绑定到整个网络接口的能力,并将其仅限于本地接口(localhost)。原因在于安全性。据我所知,Tomcat和JBoss实施了相同的安全措施。

如果要将其绑定到另一个IP,可以在连接器字符串中明确设置它:

  • Tomcat:address="192.168.1.100"
  • JBoss:您传入-b 192.168.1.100作为命令行。

请记住,绑定0.0.0.0允许任何人访问您的盒子来访问该服务器。它将绑定到所有地址。如果这是您想要的,那么使用0.0.0.0,如果不是,那么请指定您想要显式绑定的地址。

确保您了解绑定到所有地址的后果(0.0.0.0)

答案 5 :(得分:1)

防火墙通常是这些情况下的问题。就个人而言,即使对于网络内的请求,Mcafee企业防火墙也会导致此问题。

禁用防火墙或为tomcat添加规则,看看是否有帮助。

答案 6 :(得分:1)

没有上述解决方案解决了我的问题。我的问题不同。

首先检查您的端口在防火墙中是否已禁用。 转到Control Panel -> Windows Firewall -> Advance Settings -> Inbound Rules,查看是否有任何端口被阻塞。

示例图片如下:

enter image description here

如果是这样,则可以按照以下步骤解除对端口的阻塞:

第1步:

enter image description here

在这里您可以看到端口被阻塞。

enter image description here

第2步:Allow the connection -> Apply -> Ok

enter image description here

那解决了我被阻止的问题。快乐的编码:):)

答案 7 :(得分:0)

检查控制面板中的Windows防火墙功能。出站和入站端口应该允许端口8089.(或为此写一个新规则 - 右侧,操作 - 新规则。)它对我有用!

答案 8 :(得分:0)

我在Amazon Windows EC2实例(Windows Server 2012 R2)上也面临同样的问题 然后我发现,它是本地Windows防火墙阻止它。 我使用具有高级安全性的Windows防火墙打开了端口80(为网站定义了端口)。

它解决了这个问题。

答案 9 :(得分:0)

非常奇怪,因为防火墙导致了这个问题。

答案 10 :(得分:0)

在Windows Server 2008 R2上卸载Oracle JDK并安装OpenJDK后,Windows防火墙引起问题。

此后,Tomcat 7和Tomcat 8无法在其他计算机上访问。

按照路径添加新规则

 --> Windows Firewall with Advanced Security on Local Computer
 --> Inbound Rule 
 -->Add New Rule 
      with specific port you have required for Tomcat application.