Nginx:Linux上的内部端口转发

2024-04-20 02:38:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在做一个任务,需要从端口a到端口B的端口映射。我正试图通过使用nginx来实现这一点,但到目前为止还没有成功。你知道吗

这里是一个场景,我有一个服务器a正在监听123,它应该在内部重定向到1123端口。还有一个服务器B正在使用python应用程序与123上的服务器A端口通信,因为它不是web请求nginx配置不起作用。Python应用程序在启动通信时考虑服务器A的ip地址和端口。你知道吗

我曾尝试在linux服务器A上使用Iptables,当我重新运行上述场景时,它起了作用。你知道吗

iptables -t nat -A PREROUTING -p tcp --dport 123 -j REDIRECT --to-port 1123

你能分享一下你对这个问题的见解,并建议我除了Iptables之外还可以使用哪些服务吗?你知道吗

谢谢


Tags: 端口ip服务器web应用程序iptableslinux地址
1条回答
网友
1楼 · 发布于 2024-04-20 02:38:15

在我看来,你的问题有点混乱。你知道吗

Nginx不适用于您的情况,因为它不是端口转发器,而是充当web代理,因此除非在端口1123上没有web应用程序,否则它将失败。这是因为nginx在ISO/OSI模型上工作在应用层,而iptables工作在第三和第四层,它基本上接收从目的端口读取的数据包并重新映射。你知道吗

如果您不想使用iptables作为最简单的选择,那么您可以使用的程序范围仅限于在这些级别上操作的任何程序。 我不确定ha代理是否可以工作,即使您可以做比nginx更多的事情。你知道吗

最后一个选择你可以试着编写一些代码来完成这项工作。你知道吗

相关问题 更多 >