Nginx之TCP代理部署,超简单(nginx tcp代理)
最近在工作中遇到的一个问题:为了实现某个需求,需要从公司内网连接到外网,而内网和外网因为某种限制又无法直接打通网络,所以想到了使用Nginx代理的方式实现。找到了一台机器,与内外网之间的网络都是通的,考虑使用改机器作为跳板机,部署Nginx服务,通过Nginx的TCP代理功能实现。
其实部署方式非常简单。
1)去官网http://nginx.org/en/download.html下载Nginx,注意一定要使用1.9以上版本,只有1.9以上版本才有这个功能;
2)下载到主机上,解压: tar -zxvf nginx.....
3)进入解压目录,执行以下命令
./configure --with-stream
可以使用--prefix=... 指定安装目录
make && make install
4)进入安装目录,修改配置文件:vi conf/nginx.conf
在配置文件的最后增加以下配置:
stream{
upstream test{
server ip:port;
}
server{
listen 8082; //外部应用访问的端口
proxy_pass test; // 上方upstream名称
proxy_connect_timeout 10s;
}
}
5)进入sbin目录,执行nginx,
6)启动之后,即可通过nginx部署的主机和nginx暴露的端口,访问代理的外网地址了。