Tomcat启用80/443端口的时候提示“java.net.BindException: Permission denied:80”,怎么解决?

问题

Tomcat启用80/443端口的时候提示“java.net.BindException: Permission denied:80”,怎么解决?
详细描述:

在server.xml文件里面把Tomcat的http连接方式设置为80端口之后,运行tomcat的时候,提示“java.net.BindException: Permission denied:80”;https连接方式设置为443端口之后,运行tomcat的时候,提示“java.net.BindException: Permission denied:443”;
解答

非sudo/root权限用户只能使用1024以下的端口。

操作方法:

方法一:先用命令 sudo su,输入密码后获得sudo权限之后再运行tomcat。


方法二:放弃80/443端口,改为8080/8443等1024以上的端口,这个时候可以不用获取sudo权限就能正常运行tocmat了。


方法三:Linux下可以 改为8080/8443等1024以上的端口, 用命令进行端口绑定。


 

iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8080
iptables -t nat -A PREROUTING -p tcp –dport 443 -j REDIRECT –to-port 8443

不需要时可以清除掉:

iptables -t nat -F PREROUTING
发布了139 篇原创文章 · 获赞 146 · 访问量 55万+

猜你喜欢

转载自blog.csdn.net/qq_40741855/article/details/105110184