外网访问 Ubuntu 下的 Tomcat
搞了两天终于可以了。需要修改三处地方,就可以实现外网访问了。
注意:需要保证你的服务器不是通过路由器连的网络,如果是的话需要对路由器做转发配置。
1. 修改 tomcat 目录下的/conf/server.xml 文件
将 port 字段修改为一个开放端口,你也可以改成 80,这样在访问时就不用加端口号了,但是要记得开放 80 端口。这里我没有做修改。
一定要确保该端口是开放的。
2. 修改 tomcat/conf/server.xml 文件
将 localhost 改为你的 IP 地址,ubuntu 下可以使用 ifconfig
如果你的 IP 是路由器分配的话,需要对路由器做转发配置
3.最重要的一点!
百度到的大部分答案基本上到上面一步就结束了。如果你也这么幸运的成功了的话,这一步就没必要了。不过我的是没有成功。去 stacoverflow 上搜了一下。不成功的原因说是因为 JVM 没有监听 IPv4 的地址,所以无法访问。所以需要再修改下面两处。
修改 tomcat 目录下的/bin/catalina.sh 文件和 startup.sh。添加下面一句。
我的加上这两句已经可以访问了
如果你的服务器系统是 windows 的话需要修改.bat 的这两个文件
4. 如果还是不能访问
如果上面的你都配置好了,而且还不能访问的话,恰好你的服务器系统是 Ubuntu 的话,可以尝试下面的方法。安装 authbind。
修改/etc/default/tomcat7 文件。
修改为
重启后再不能访问的话,就试试你能不能上网,或者是不是用了路由器而且没有做转发配置,或者是端口没有开放。
5.阿里云 ubuntu 镜像 80 端口无法访问
阿里云服务器的 ubuntu 镜像默认情况是只有 root 用户才能访问 1024 以下的端口,所以如果这些都配置好了还不能访问的话,建议你用 root 用户启动 tomcat,或者更改端口。再(我)或(不)者(会)添加路由规则将 80 端口转发到其他端口
版权声明: 本文为 InfoQ 作者【U+2647】的原创文章。
原文链接:【http://xie.infoq.cn/article/20e03d7cd638bd4f6d23d37e9】。文章转载请联系作者。
评论