服务器80端口映射到8080端口

时间:2024-04-14 21:53:20

服务器设备,如果申请域名之后,端口默认指向的为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的情况下,使用这个方法能够解决你所遇到的问题。