Tomcat在非Root用户下使用80端口启动报错解决办法
来源:互联网 发布:sql删除数据库命令 编辑:程序博客网 时间:2024/05/22 14:09
Linux系统中,Tomcat在非Root用户下使用80端口启动时会报“java.net.BindException: 权限不够”错误。而造成该问题的原因是在Linux中非Root用户是没有权限使用1024以下的端口的。然而因为系统安全性的要求,Tomcat必须得使用非Root用户启动并且还需要使用80端口进行访问,那么是否有办法实现该需求呢?答案是有的,通过端口转发功能就可以实现该需求,以下通过iptables进行端口转发:
1、配置Tomcat的访问端口为8080,然后使用非Root用户启动Tomcat容器。
2、登录到Root用户,添加如下两条防火墙规则:
iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-port 8080iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080第一条则使得本机可以使用http://127.0.0.1:80访问Tomcat服务器,第二条规则使得外部机器可以使用80端口访问Tomcat服务器。
3、确保linux系统启用IP包转发功能(CentOS默认关闭,Ubuntu默认启用),修改/etc/sysctl.conf
# Controls IP packet forwardingnet.ipv4.ip_forward = 1
然后执行命令使得上面的改动生效
sysctl -p /etc/sysctl.conf
4、此时部署的Tomcat应用可以通过80端口访问了。
注意:这里使用iptables管理规则需要确保其它类型的防火墙服务已经关闭(如ubantu的ufw),否则的话即使使用iptable设置了规则也不能访问,原因是被其它防火墙拦截了。
阅读全文
0 0
- Tomcat在非Root用户下使用80端口启动报错解决办法
- Linux 下Tomcat非root用户不能使用80端口
- RedHat linux 下修改tomcat为80端口(非root用户不能使用80端口)
- Linux非root用户如何使用80端口启动程序
- Linux非root用户如何使用80端口启动程序
- 非root用户启动nginx 80端口
- 非root用户启动nginx 80端口
- 非root用户在ubuntu环境下无法使用80端口
- 非root用户启动tomcat
- 非root用户启动tomcat
- 非root用户启动tomcat
- Linux系统非ROOT用户80端口不能启动tomcat问题的变通办法——通过Iptables端口转发
- Linux系统非ROOT用户80端口不能启动tomcat问题的变通办法——通过Iptables端口转发
- Linux系统非ROOT用户80端口不能启动tomcat问题的变通办法——通过Iptables端口转发
- Linux下,非root用户启动Tomcat配置过程
- 如何让Linux下非root用户程序使用小于1024端口
- linux(非root) 开机启动tomcat和80端口无法开启解决方案
- linux(非root) 开机启动tomcat和80端口无法开启解决方案
- 枚举
- 我的学习记录25
- KindEditor上传图片后回调传入文本框和列表框并显示图片
- select name where id>1
- PHP实现分页
- Tomcat在非Root用户下使用80端口启动报错解决办法
- 关于maven项目jar包的版本管理方法
- java 取出JComboBox中的当前值
- JavaWeb学习笔记-XML-1
- 收藏的博客、文章、工具等
- hadoop2.8.2无密码登入
- 在mvc设计模式中事物的实现(应用ThreadLocal)
- Spring boot 四 JPA Hibernate
- 欢迎使用CSDN-markdown编辑器