【发布时间】:2014-02-02 17:48:27
【问题描述】:
我有一个树莓派,我设置了 apache、tomcat 和 ssh。 我可以使用本地 IP 地址连接到所有这些: 192.168.1.121:80, 192.168.1.121:8080, 192.168.1.121:22 没问题。
我将静态 ip 设置为 pi 和第二个路由器。我在第二个路由器上将端口转发设置为 80、8080 和 22 端口到 pi,并在第一个路由器上设置到第二个路由器(相同的端口)。
我使用noip客户端刷新动态dns服务。 我可以访问 ssh 和 apache,但我不能访问 tomcat。 所以我可以连接到 mydomain.no-ip.info 和 mydomain.no-ip.info:22 但我不能到 mydomain.no-ip.info:8080。
我觉得这很奇怪,因为它们都应该工作,否则它们都不工作...可能是什么问题?
更新: 我在 /etc/tomcat7/server.xml 文件中发现了两个可能的错误设置:
...
<Engine name="Catalina" defaultHost="localhost">
...
<Host name ="localhost" ... >
我应该将 localhost 之一(或两者)更改为 mydomain.no-ip.info 吗?
更新 2: 如果我将主机更改为 mydomain.no-ip.info,我会得到 192.168.1.121:8080 的空白页面,mydomain.no-ip.info:8080 会出现错误。如果我同时更改 192.168.1.121:8080 工作,但 domain:8080 仍然没有。
更新3: 我用这个工具扫描了 8080 端口:http://www.whatsmyip.org/port-scanner/,它说它是开放的。所以我认为我的ISP并没有阻塞8080端口(好吧,如果80没有被阻塞,8080有一点机会被阻塞)
【问题讨论】:
-
服务器上
netstat -plantu | grep -E -- '8080|22|:80的输出是什么?您能否从本地网络中联系到8080?您是否能够从任一路由器访问服务器的其他端口,例如,如果设置为“ISP”<->“RouterA”<->RouterB,无论哪个路由器都可以连接到服务器你连接到了吗?
标签: tomcat tomcat7 raspberry-pi router portforwarding