zoukankan      html  css  js  c++  java
  • Nginx 配置TCP代理

    Nginx 1.9 版本以后增加了stream模块,可以对tcp,udp请求进行代理和负载均衡了,今天来体验一下
    首先编译安装过程configure的时候增加选项 --with-stream --with-stream_ssl_module 是支持tcp代理
    安装完成后修改 nginx.conf 在文件最后添加 include tcp/*.conf ,注意不是在http范畴内,然后在conf目录下创建tcp目录


    简单测试

    都在一个机器上, nginx监听 10000 端口,然后开两个窗口,用nc监听 10001 、10002端口。
    nginx配置

                  / nc -l 10001
    telnet--> nginx(10000)  ---->
                  nc -l 10002
    配置

    stream {
      upstream backend {
        server 127.0.0.1:10001;
        server 127.0.0.1:10002;
      }
      server {
        listen 10000;
    #    listen 10000 udp; 如需代理udp端口则在端口后面加udp即可
        proxy_timeout 20s;
        proxy_pass backend;
      }
    }

    telnet 127.0.0.1 10000
    第一次会代理到 10001 端口,第二次会到 10002 端口,代理正常。


    下面是一个ssl 然后ip hash方式的负载均衡(tcp也支持几种负载均衡方式 round-robin, least_conn least_time, hash等)

    stream {
      upstream backend {
        hash $remote_addr;
        server 192.168.1.10:20001;
        server 192.168.1.10:20002;
      }
      server {
        listen 20000 ssl;
        ssl_certificate /data/keys/CAcert.pem;
        ssl_certificate_key /data/keys/privkey.pem;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 2h;
        proxy_timeout 20s;
        proxy_pass backend;
      }
    }

  • 相关阅读:
    自定义轮播图、自定义集合控件的实现
    推荐一个比较好用的工具
    博客迁移至简书
    ReactiveCocoa学习资料
    Xcode常用快捷键
    iOS自定义字体
    cocoapod的安装与使用
    iOS开发笔记
    UIWebView的三种加载方式
    项目常用第三方库
  • 原文地址:https://www.cnblogs.com/fjping0606/p/7929895.html
Copyright © 2011-2022 走看看