首页 > 技术 > 正文

#教程# Nginx - 安装stream模块进行TCP/UDP端口转发

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。在1.9.13版本后,Nginx已经支持端口转发,编译的时候需要stream这个模块支持,同时支持TCP/UDP端口转发。

Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。在 1.9.13 版本后,Nginx 已经支持端口转发,编译的时候需要 stream 这个模块支持,同时支持 TCP/UDP 端口转发。

安装 Nginx

单独安装 Nginx 方法我就不介绍了,详情见 《LNMP 安装使用教程》,军哥的 LNMP 可以单独安装 Nginx 或者 MySql,请自行安装配置。

安装完后行下面的命令查看 nginx 信息,是否有 --with-stream这个模块

nginx -V

配置端口转发

在 nginx.conf 添加如下配置,并使用 nginx -s reload 重载 nginx 使其生效,同时注意防火墙/安全组放行对应的端口

stream {

#将 12345 端口转发到 192.168.1.23 的 3306 端口

server {

listen 12345;

proxy_connect_timeout 5s;

proxy_timeout 20s;

proxy_pass 192.168.1.23:3306;

}

#将 udp 53 端口转发到 192.168.1.23 53 端口

server {

listen 53 udp reuseport;

proxy_timeout 20s;

proxy_pass 192.168.1.23:53;

}

}

listen:后面填写源端口(也就是当前服务器端口),默认协议为 TCP,可以指定为 UDP 协议;

proxy_connect_timeout:连接超时时间;

proxy_timeout:超时时间;

proxy_pass:填写转发目标的 IP 及端口号;

总结

目前能实现端口转发的工具大致有:rinetd、SSH、iptables、nginx、haproxy,其中 rinetd 配置最为简单,但不支持 UDP 转发,并且该软件已经好几年未更新,如果您服务器上已经安装了 nginx,不妨用 nginx 做端口转发。

网友评论

验证码 换一张
取 消
暂无评论...
为您推荐
  • 相关阅读
  • 业界资讯
  • 手机通讯
  • 电脑办公
  • 新奇数码
  • 软件游戏
  • 科学探索