您的位置:首页 > 运维架构 > Tomcat

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

2015-10-16 15:20 507 查看
有时我们在服务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 添加执行权限。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: