tomcat服务器运行时一般端口号都为80,且需要JVM必须以root用户运行。但是,如果除JVM进程之外的东西可以将所有端口80的TCP连接传递给高于1024端口号的端口,那么JVM就可以不必以root用户运行。这点在linux系统中权限尤其重要,如果没有root权限,可以让tomcat运行在8080上,然后有合适权限的其他用户可以把80端口TCP连接传递给8080端口。
这用到了linux中内嵌的iptables特性
# iptables -t nat -I prerouting -p tcp --dport 80 -j redirect --to-ports 8080
# iptables -t nat -I output -p tcp --dport 80 -j redirect --to-ports 8080
这样用户访问时会默认重写网址加上8080端口。
如果不想加上8080端口,可以修改server.xml如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改为
<Connector port="8080" protocol="HTTP/1.1" proxyPort="80"
connectionTim