![我不应该使用 iptables 端口转发的原因是什么?](https://linux22.com/image/604167/%E6%88%91%E4%B8%8D%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%20iptables%20%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%E7%9A%84%E5%8E%9F%E5%9B%A0%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我在端口 8888 上运行一个小应用程序,为了快速修复无需在 url 上附加端口的问题,我使用 iptables 程序将所有对端口 80 的请求转发到 8888。
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -REDIRECT --to-port 8888
假设这是服务器上运行的唯一 Web 服务,上述方法有什么问题吗?(性能、维护等...)有人可以建议一个好的替代方案吗?
我对服务器维护还很陌生,所以很想听听专家的看法。
答案1
iptables 是告诉内核转发端口的方法,所以这种方法根本没有问题。
但是,如果这是机器上运行的唯一 HTTP 服务器,为什么不立即监听端口 80 呢?
答案2
您的设置使用资源(用于 conntraq、nat 等)。
“正确的方法”是修复您的应用程序(或对其进行配置)以监听端口 80。