最近大家都开始了在家远程办公,这是一件很美好的事。
可作为技术人员有点头疼,需要跟各种服务(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。
这样的配置就实现了 访问nginx所在服务器的6543端口请求会 转到 内网服务器10.0.1.121的5672端口;
例子中仅实现了单个代理,如果有多个服务需要通过外网来访问也可以做同样的配置来实现。