Linux下0-1024端口为保留端口,只有root用户才能绑定,所以如果想用普通用户跑某个监听保留端口的服务,就会因为没有权限而失败
有几个方法可以绕过去,其中一个就是使用iptable做端口重定向(其它方法请参见[1]):
[1] http://www.debian-administration.org/articles/386
[2] http://serverfault.com/questions/211536/iptables-port-redirect-not-working-for-localhost
有几个方法可以绕过去,其中一个就是使用iptable做端口重定向(其它方法请参见[1]):
>
iptables -t nat -I PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8080
此规则只对外部访问有效,如果是内部访问localhost则无效,因为loopback不走PREROUTING,需要定义OUPUT规则下的转发:
> iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 443 -j REDIRECT --to-ports 8080
查看规则是否生效,使用如下命令:
> /sbin/iptables -t nat -L -n
[1] http://www.debian-administration.org/articles/386
[2] http://serverfault.com/questions/211536/iptables-port-redirect-not-working-for-localhost