需要在服务器上实现个TCP服务器, 由于已安装了Nginx, 所以在nginx中给TCP开个口子 。
stream模块网上文章的说法都是, 1.9.0版之后nginx开始具有TCP/UDP的代理转发功能, 但需要手动安装stream模块.
我用nginx -V命令(注意V是大写, 可查询nginx已安装模块)查了一下, 我的nginx是1.16.0版本, 并且已经安装了stream模块(命令输出包含--with-stream), 所以我就不用手动安装了.
配置文件的修改首先要明确的一点, 关于TCP转发的配置, 是TCP层面的, 它和HTTP是同一层级, 并不是HTTP的下层.
【nginx实现TCP转发】所以其配置项目要放在nginx的顶级配置文件(/etc/nginx/nginx.conf)的顶级块里面, 和顶级配置文件中的http块同属一个层级. 注意不能放在conf.d文件夹下, 这个文件夹下的配置文件都在http块级以下.
在顶级配置文件(/etc/nginx/nginx.conf)中添加如下配置块:
stream {server {listen 8998;proxy_pass 127.0.0.1:8999;}}
实现, 监听8998端口, 转发8999端口(服务器上的程序实现TCP server在8999端口).
nginx -t检查一下配置文件,
nginx -s reload重新加载配置, 即可!
UDP的转发UDP的转发类似, 我这次的应用不需要, 也就没有测试试验, 不过先记录在此.
配置块如下:
stream {server {listen 9998 udp;proxy_pass 127.0.0.1:9999;}}
推荐阅读
- 效率这不就提上来了嘛!SpringBoot+flowable快速实现工作流
- 黑客实现ARP欺骗
- Python实现读取Word表格计算汇总写入Excel
- 不用羡慕Mac,iPhone和Windows也能实现同步互通
- MybatisPlus中实体类属性对应枚举类实现
- SSH隧道详解与使用AutoSSH实现稳定的内网穿透
- C# 文件局域网传输案例
- JAVA实现对阿里云DNS的解析管理
- 如何实现电脑文件的自动备份?
- 电脑里批量修改文件名,批处理实现及详细说明,findstr补充说明