请选择 进入手机版 | 继续访问电脑版
查看: 1237|回复: 0

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

[复制链接]

32

主题

33

帖子

479

积分

超级版主

Rank: 8Rank: 8

积分
479
发表于 2018-8-29 13:59:08 | 显示全部楼层 |阅读模式
本帖最后由 HainaTec 于 2018-8-31 17:59 编辑

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

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

2.基于root密码不是随随便便能得到的,所以一般采用第二种方法(即端口映射)来达到你的目的:具体命令为:
  1. 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可以达到一样的效果!(前者是通过映射,后者是直接访问原地址!!)

删除映射:
  1. iptables -t nat -L -nv --line-numbers
复制代码


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

执行:

  1. chmod +x /etc/network/if-pre-up.d/iptables
复制代码

添加执行权限。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
QQ在线咨询
售前咨询热线
0473-6109550
售后服务热线
0473-2020208
快速回复 返回顶部 返回列表