Linux下Tomcat使用80端口映射到8080端口

有时我们在服务Linux服务器上安装了tomcat(端口号为8080),而公司要求是输入网址后不添加端口号就能访问,这就意味着浏览器得通过80端口访问到你的tomcat(端口为8080),为此有两种解决方式:


1.基于Linux系统禁止1024一下的端口让非root用户使用,那么就必须是用root用户登录才能去启动修改为80端口的tomcat(注意: 直接在tomcat server.xml中更改为80,用sudo命令是启动不了的,必须要root用户登录启动!!)


2.基于root密码不是随随便便能得到的,所以一般采用第二种方法(即端口映射)来达到你的目的:具体命令为:


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



-t nat : 指出我要操作什么表.(不写就表示filter.默认是filter) 

-A PREROUTING : A 添加的意思.表示我要在PREROUTING 中添加一个规则 

--dport 80 : 如果请求80端口. 

--to-port 8080 : 那么就转到8080端口. 



测试如下 : 


在浏览器地址栏输入http://localhost:8080   和 输入   http://localhost可以达到一样的效果!(前者是通过映射,后者是直接访问原地址!!)

删除映射:

iptables -t nat -L -nv --line-numbers 

这个命令的作用是,列出nat表中的规则,并且给个num. 
然后我们就可以利用这个id删除这个规则了. 
如果你不写-t nat 那么默认查找的就是filter表.那么就无法查找规则. 


 
利用这个语句就可以删除这个规则了. 


iptables -t nat -D PREROUTING 1


-t nat : 表示我要操作这个表,不指明就是filter. 
-D : 表示执行删除操作 
PREROUTING : 表示nat表中哪一个链. 后面数字1 就是上图中的num 



需要注意的是Debian/Ubuntu 上iptables是不会保存规则的。


 需要按如下步骤进行,让网卡关闭是保存iptables规则,启动时加载iptables规则:


 1.创建 /etc/network/if-post-down.d/iptables  

 执行:chmod +x /etc/network/if-pre-up.d/iptables 添加执行权限。 

文件,添加如下内容:

 #!/bin/bash     

iptables-save > /etc/iptables.rules 

执行:chmod +x /etc/network/if-post-down.d/iptables 添加执行权限。


 2.创建/etc/network/if-pre-up.d/iptables 文件,添加如下内容:

 #!/bin/bash

 iptables-save < /etc/iptables.rules


执行:chmod +x /etc/network/if-pre-up.d/iptables 添加执行权限。




你可能感兴趣的:(JSP,it技术)