我正在Windows 7上运行Tomcat 5.5实例(端口:8089)。
如果我打开http://localhost:8089/,服务器会正常运行,但它会在http://192.168.1.100:8089/
上给我一个错误(拒绝连接)我认为这是防火墙问题......所以我禁用了它,但我仍然没有运气。
提前致谢。
解决:
将地址=“0.0.0.0”添加到连接器字符串,它可以正常工作!非常感谢!
答案 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;入站规则
创建新规则:提及端口
配置您的端口,然后关闭并启动您的tomcat,它也可以从远程访问。
该端口问题主要出现在AWS机器上。
如果仍然无法正常工作,请与您的管理员核实所选端口是否开放供公众访问,如果没有则打开它。
答案 3 :(得分:9)
如果您尝试访问在apache tomcat服务器上运行的Web应用程序, 当你试图使用它时它可能是完美的 http://localhost:8080/ 如果您尝试在移动设备浏览器上访问它,它将无法正常工作。铬使用 http://192.168.x.x:8080/ 因此,如果您想通过远程/移动设备上的IP地址进行访问,请执行以下设置
更改
<Connector connectionTimeout="20000" port="8080"protocol="HTTP/1.1" redirectPort="8443"/>
到
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" address="0.0.0.0" />
你很高兴。
答案 4 :(得分:8)
新版本的应用程序服务器删除了绑定到整个网络接口的能力,并将其仅限于本地接口(localhost)。原因在于安全性。据我所知,Tomcat和JBoss实施了相同的安全措施。
如果要将其绑定到另一个IP,可以在连接器字符串中明确设置它:
address="192.168.1.100"
-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
,查看是否有任何端口被阻塞。
示例图片如下:
如果是这样,则可以按照以下步骤解除对端口的阻塞:
第1步:
在这里您可以看到端口被阻塞。
第2步:Allow the connection -> Apply -> Ok
。
那解决了我被阻止的问题。快乐的编码:):)
答案 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.