nginx代理udp

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.04MAINTAINER redstarofsleep "*@*.com"RUN mv /etc/apt/sources.list /etc/apt/sources.list.bakWORKDIR /etc/aptRUN touch sources.listRUN echo "deb http://mirrors.ustc.edu.cn/ubuntu/ trusty main restricted universe multiverse" >> sources.listRUN echo "deb http://mirrors.ustc.edu.cn/ubuntu/ trusty-security main restricted universe multiverse" >> sources.listRUN echo "deb http://mirrors.ustc.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse" >> sources.listRUN echo "deb http://mirrors.ustc.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse" >> sources.listRUN echo "deb http://mirrors.ustc.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse" >> sources.listRUN echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ trusty main restricted universe multiverse" >> sources.listRUN echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ trusty-security main restricted universe multiverse" >> sources.listRUN echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse" >> sources.listRUN echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse" >> sources.listRUN echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse" >> sources.listRUN apt-get updateADD nginx-1.12.1.tar.gz /home/temp/nginxADD openssl-1.0.1i.tar.gz /home/temp/nginxADD pcre-8.32.tar.gz /home/temp/nginxADD zlib-1.2.8.tar.gz /home/temp/nginxRUN apt-get install -y g++RUN apt-get install -y makeWORKDIR /home/temp/nginx/nginx-1.12.1RUN ./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-streamWORKDIR /home/temp/nginx/nginx-1.12.1RUN makeWORKDIR /home/temp/nginx/nginx-1.12.1RUN make installEXPOSE 80EXPOSE 9002/udpENTRYPOINT /usr/local/nginx/sbin/nginx && /bin/bash
转载请注明出处:http://blog.csdn.net/redstarofsleep

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部