nginx搭建tcp代理

最近大家都开始了在家远程办公,这是一件很美好的事。

可作为技术人员有点头疼,需要跟各种服务(DB,MQ等)打交道,这些所有服务都在公司内网,无法进行外网访问。通过远程桌面的根本无法动态,更别提写代码,提交代码了。这个时候就可以使用nginx 做tcp代理来实现远程访问了。

准备工作:

1、一台能够访问内网以及外网的服务器

2、nginx 1.9及以上版本(http://nginx.org/en/download.html 选择1.9或以上的版本下载)

步骤:

以nginx-1.13.5.tar.gz为例

1、将下载到的nginx放在服务器上,通过命令解压

tar -xvf nginx-1.13.5.tar.gz


解压后 目录结构图

2、进入上图目录中,编译安装nginx,命令如下:

./configure --with-stream;make;make install;

一定要加入 --with-stream; 

3、配置参数

进入安装目录配置文件目录,修改nginx.conf文件

cd /usr/local/nginx/conf

vi nginx.conf

在配置文件中增加

stream {

        upstream rabbitmq{

                server 10.0.1.137:5672;

        }

        server{

                listen 6543;

                proxy_connect_timeout 600s;

                proxy_pass rabbitmq;

        }

}

添加完成后,保存退出。通过nginx -s reload 重启nginx。


增加stream配置

这样的配置就实现了 访问nginx所在服务器的6543端口请求会 转到 内网服务器10.0.1.121的5672端口;

例子中仅实现了单个代理,如果有多个服务需要通过外网来访问也可以做同样的配置来实现。

你可能感兴趣的:(nginx搭建tcp代理)