我找到了一种使用 ipfw 将端口 80 和 443 转发到其他任意端口(在我的情况下是 3000 和 3001)的方法。但 ipfw 已被弃用并被 pfctl 取代。以下是我的 ipfw 声明:
sudo ipfw flush
sudo ipfw add 100 fwd 127.0.0.1,3000 tcp from any to me 443
sudo ipfw add 200 fwd 127.0.0.1,3001 tcp from any to me 80
sudo ipfw show
请问我如何使用 pfctl 做同样的事情?
答案1
要将所有端口 80 流量转发到端口 8080,您可以从终端命令行输入以下内容。
echo "rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080" | sudo pfctl -ef -
要将端口 80 和 443 转发到端口 3000 和 3001,请使用以下命令:
echo "rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 3000" | sudo pfctl -ef -
echo "rdr pass inet proto tcp from any to any port 443 -> 127.0.0.1 port 3001" | sudo pfctl -ef -