将端口80的TCP连接传递给端口8080
linux的内嵌iptables特性允许各种防护墙、网络过滤和信息传递。而且可以简单的将端口80的TCP连接传递给tomcat
iptables特性是linux内核的特性,通常默认为enabled(使能)状态,并可使用iptables命令行工具进行配置。
[root@TA30-53 creditease.cn]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
下面两条命令会在iptables的配置中增加必要的传递规则,它把机器上目的地为80端口的所有连接重定向到8080端口的信息通知给内核
[root@U10-9 ~]# iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
[root@U10-9 ~]# iptables -t nat -I OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080
如果只是想把机器配置的一个ip地址的连接传递给8080端口,那么可以在追加目的地址IP时选择性地使用--dst切换开关
[root@U10-9 ~]# iptables -t nat -I PREROUTING -p tcp --dst 10.143.32.19 --dport 80 -j REDIRECT --to-ports 8080
[root@U10-9 ~]# iptables -t nat -I OUTPUT -p tcp --dst 10.143.32.19 --dport 80 -j REDIRECT --to-ports 8080
[root@U10-9 ~]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere U10-9.local tcp dpt:http redir ports 8080
REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 8080
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere U10-9.local tcp dpt:http redir ports 8080
REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 8080
此时,能够在80端口上发出请求,而且tomcat应能收到有关请求的信息
tomcat会认定请求来源于8080端口,因为它在8080端口上打开了Web服务器连接器,因此无论何时发送重定向,它都会追加端口号8080,
除非按如下方式修改server.xml文件
<Connector port="8888" protocol="HTTP/1.1"
proxyPort="80"
connectionTimeout="20000"
redirectPort="8443" />
这是tomcat不采用root用户而应答80端口请求的最简方法
查找实际在用的端口
[root@U10-9 conf]# netstat -a