记一次Nginx代理转发Socket5应用案例

大家好,我是隔壁公司的运维。这周公司有个代理实现Socket5转发的需求,Boss大神让我好生研究一下。经过网上一番百度谷歌之后, 惊喜的发现Nginx可以轻松的实现。

今天就来探索一下,怎么实现。

The ngx_stream_core_module module is available since version 1.9.0. This module is not built by default, it should be enabled with the --with-stream configuration parameter. 

————摘自Nginx官网

链接地址:

大概中文意思是:Nginx从1.9.0版本开始支持ngx_stream_core_module 这个模块,但是并不会默认安装,需要在安装编译时通过指定 --with-stream 参数来安装这个模块。

公司所有的应用都要求封装成Docker镜像,意外的发现Docker Hub官方提供的最新Nginx镜像正好编译安装时指定了--with-stream,意味着可以直接pull下来用,更Nice的是Alpine镜像只有7M

先把容器run起来:docker run --name nginx -p 80:80 --restart=always -d nginx:1.13.3-alpine 

docker exec -it nginx sh 进入nginx容器内vi /etc/nginx/nginx.conf 根据自己的实际情况修改一下配置文件,如下图所示

nginx.conf 配置文件↑↑↑

容器内执行一下nginx -s reload 加载一下最新配置,剩下就是测试使用了。