nginx代理udp

nginx是支持udp或者tcp的代理或者负载均衡的。是通过stream模块来支持udp的。

首先在编译过程中就需要开启stream模块:

./configure --prefix=/usr/local/nginx --with-pcre=/home/temp/nginx/pcre-8.32 --with-zlib=/home/temp/nginx/zlib-1.2.8 --with-openssl=/home/temp/nginx/openssl-1.0.1i --with-http_ssl_module --with-stream

然后在配置文件中加上udp的配置:

stream {
    upstream dns_upstreams {
        server 192.168.136.130:53;
        server 192.168.136.131:53;
    }


    server {
        listen 53 udp;
        proxy_pass dns_upstreams;
        proxy_timeout 1s;
        proxy_responses 1;
        error_log logs/dns.log;
    }
}
这样的话,nginx就做了两个服务器的udp负载。


最后附上一个nginx的dockerfile

FROM ubuntu:14.04
MAINTAINER redstarofsleep "*@*.com"
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak
WORKDIR /etc/apt
RUN touch sources.list
RUN echo "deb http://mirrors.ustc.edu.cn/ubuntu/ trusty main restricted universe multiverse" >> sources.list
RUN echo "deb http://mirrors.ustc.edu.cn/ubuntu/ trusty-security main restricted universe multiverse" >> sources.list
RUN echo "deb http://mirrors.ustc.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse" >> sources.list
RUN echo "deb http://mirrors.ustc.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse" >> sources.list
RUN echo "deb http://mirrors.ustc.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse" >> sources.list
RUN echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ trusty main restricted universe multiverse" >> sources.list
RUN echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ trusty-security main restricted universe multiverse" >> sources.list
RUN echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse" >> sources.list
RUN echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse" >> sources.list
RUN echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse" >> sources.list
RUN apt-get update
ADD nginx-1.12.1.tar.gz /home/temp/nginx
ADD openssl-1.0.1i.tar.gz /home/temp/nginx
ADD pcre-8.32.tar.gz /home/temp/nginx
ADD zlib-1.2.8.tar.gz /home/temp/nginx
RUN apt-get install -y g++
RUN apt-get install -y make
WORKDIR /home/temp/nginx/nginx-1.12.1
RUN ./configure --prefix=/usr/local/nginx --with-pcre=/home/temp/nginx/pcre-8.32 --with-zlib=/home/temp/nginx/zlib-1.2.8 --with-openssl=/home/temp/nginx/openssl-1.0.1i --with-http_ssl_module --with-stream
WORKDIR /home/temp/nginx/nginx-1.12.1
RUN make
WORKDIR /home/temp/nginx/nginx-1.12.1
RUN make install
EXPOSE 80
EXPOSE 9002/udp
ENTRYPOINT /usr/local/nginx/sbin/nginx && /bin/bash

转载请注明出处:http://blog.csdn.net/redstarofsleep

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值