服务器设备,如果申请域名之后,端口默认指向的为80端口,但是我们更多的服务是发布在了tomcat当中,更多的是使用的8080端口
众所周知,服务器安装nginx能够做端口映射,然后将服务制定到大家想要的地方。
工作需求,提供一个不需要安装nginx的情况下,将80端口映射到8080端口,从而达到直接访问服务器去到达8080端口的服务。
用tomcat用户登录,启动tomcat,发现tomcat无法启动,出现错误:LifecycleException: Protocol handler initialization failed: java.net.BindException: Permission denied <null>:80
通过 netstat -lnp|grep 80 发现没有程序占用80端口
原因是只有root用户才可访问1024以下的端口。
解决方法:
重将server.xml中的端口改为8080 ,然后通过iptables将80端口跳转到8080端口
通过iptables去做端口映射,将80端口映射到8080
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
缺陷:这样的话,如果偶然原因服务器需要重新启动,端口映射需要重新添加,从新执行下上面的命令即可。
如果是个人服务器使用,并且配置不是很高,不想安装nginx的情况下,使用这个方法能够解决你所遇到的问题。
时间: 2024-10-10 11:11:06