无法连接到Tomcat9外

时间:2016-03-25 15:01:35

标签: linux tomcat

我无法从外部(通过ip)连接到tomcat9

我在

之后禁用了tcp6(添加到/etc/sysctl.conf)
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1

netstat -nlp输出:

tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 7460/java       
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 7460/java       
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 7460/java       
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1118/nginx

server.xml连接器块:

<Connector port="8080" protocol="HTTP/1.1"
      connectionTimeout="20000"
      redirectPort="8443"
      address="0.0.0.0" />

我还尝试将useIPVHosts =“true”添加到<Connector>并将resolveHosts =“true”添加到server.xml中的<Valve>块,但仍然没有。

我会感谢您的所有答案)

1 个答案:

答案 0 :(得分:1)

根据您提供的内容,您的Tomcat服务器正在家庭网络中的笔记本电脑上运行。你的朋友试图通过互联网访问这个但是无法访问。假设您的Tomcat配置正确,我们可以将其缩小到几个区域。

无法通过互联网访问您的服务器:

您不仅可以为笔记本电脑提供公共IP,还希望它可以在互联网上运行。家庭网络的设置方式是保留大公司(Comcast,Verizon等)支付的公共IP地址。您的路由器将被分配一个可从Internet访问的公共IP地址,并且您的所有内部节点(电话,计算机,笔记本电脑等)将通过路由器本身处理的NAT分配给它们的内部(192.168.x.x)地址。要通过Internet访问内部节点,您必须登录路由器并启用某些端口转发。您还应该启用路由器应允许您使用的动态DNS(http://yourserver.something.something 而不是 router IP)。对于路由器中的端口转发,您应该有一个选项来设置(例如)端口50001 - &gt; IPofTomcat端口8080.您的朋友将通过您的路由器访问您的网页IP / 50001 / jspname.jsp

您可能会从ISP获得静态IP,但之后您正在查看月费(使用端口转发和dynamicDNS)。您的路由器也应该能够处理保留的IP。

防火墙问题:

确保没有可能影响服务器/路由器上的流量的入站/出站规则。我怀疑你的路由器默认会有这些(不是一件好事;)),但是如果你知道端口转发设置正常并且正常工作,这是需要考虑的事情。

其他评论:

如果有其他人去看这篇文章,我会说这只是为了一般知识。确保在托管家庭网络服务器之前完成这些步骤。

  • 更改所有内容的默认密码!这包括Apache,路由器,本地帐户。加强网络中的每个密码,尤其是在打开托管网络服务器的通信时。
  • 将所有软件更新/补丁应用到您的tomcat服务器。
  • 如果这只会被少数朋友使用,更改默认端口的好主意
  • 确保您的目录已被锁定(jspname.jsp驻留在其中)
  • 在上线之前进行备份。
  • 定期监控路由器/服务器上的访问日志。