A-A+

Nginx代理TCP端口

2017年11月10日 站点运维, 网络基础 暂无评论 阅读 1,311 views 次
摘要:

概括而言,TCP代理服务器在以下场合适用:
(1)需要隐藏真正TCP服务器的位置。
(2)保护TCP服务器免受应用层以下级别的协议栈攻击。
(3)TCP转址机。

一.升级nginx 版本至1.9.0以上,nginx平滑升级流程如下

1.查询原来安装配置信息

[root@t-scrmap1-v-szzb local]# netstat -unlatp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2410/nginx
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 2410/nginx

[root@t-scrmap1-v-szzb local]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.8.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module
[root@t-scrmap1-v-szzb local]#

2.编译新版本

tar -xvf nginx-1.10.2.tar.gz
cd nginx-1.10.2
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module
make

3.升级

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx-low
#备份原版本
cp objs/nginx /usr/local/nginx/sbin/
#cp新的启动程序到sbin目录
[root@t-scrmap1-v-szzb nginx-1.10.2]# make upgrade
#执行升级
/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
sleep 1
test -f /usr/local/nginx/logs/nginx.pid.oldbin
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
[root@t-scrmap1-v-szzb nginx-1.10.2]#

4.升级成功

[root@t-scrmap1-v-szzb nginx]# ./sbin/nginx -V
nginx version: nginx/1.10.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module
[root@t-scrmap1-v-szzb nginx]# netstat -unlatp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 18308/nginx
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 18308/nginx
[root@t-scrmap1-v-szzb nginx]#

二.配置编译的时候需要加上

 ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-stream
make
cp ./objs/nginx /usr/local/nginx/sbin/
make upgrade

三.修改配置文件

stream {
upstream cloudsocket
{
hash $remote_addr consistent;
server 10.x.xx.14:1831 weight=5 max_fails=3 fail_timeout=30s;
}
server
{
listen 8081;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass cloudsocket;
}
}

stream 与 http 是一个层级的,放在配置文件最后

四.重启服务

[root@t-scrmap1-v-szzb nginx]# ./sbin/nginx -s reload

给我留言

本站理念:

致力于运维技术的分享,运维前源技术的探讨,欢迎广大朋友一起参与,一起分享,共同成长。

交流探讨:

QQ群:26489714