先吐槽一下,Chrome近些天的更新,导致标签栏变大了,没有以前醒目,容易点错,还很丑。

 

Nginx从1.9开始有了stream模块,可以进行四层反代、负载均衡。以前还真没发现,刚试了一下,还不错。以往我总要多搞个haproxy来用,现在方便多了。

 

配置语法很简单,直接上例子:

复杂一点,可以负载均衡+容错的:

stream {
    upstream win_work {
        server 192.168.0.188:3389;
    }
    upstream win_send {
        server 192.168.0.168:3389;
    }
    server {
        listen 3389;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass win_work;
    }
    server {
        listen 55888 ;
        proxy_responses 1;
        proxy_timeout 20s;
        proxy_pass win_send;
    }
}

 

语法和以往的http代理一样的,不必多说了。

如果是后端单个节点的话,可以省点事:

stream {
    server {
        listen 3389;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass 192.168.0.188:3389;
    }
    server {
        listen 55888 ;
        proxy_responses 1;
        proxy_timeout 20s;
        proxy_pass 192.168.0.168:3389;
    }
}

 

那些设置项不是必须的,细节可以参考文档:

http://doc.tingtao.org/nginx/

 

需要注意的是,我虽没测试过,但我觉得stream的配置块不要写在http里面了,他俩是平级的,没有包含关系,写错地方可能会出错。

作者 听涛

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注