nginx TCP 역방향 에이전트 로 mail 메 일 에이전트

6536 단어 운영/개발
nginx TCP 역방향 에이전트 로 mail 메 일 에이전트
  • nginx TCP 역방향 에이전트 로 mail 메 일 에이전트
  • 배경
  • Nginx 설치 nginx 포함upstream_check_module
  • Nginx 설정
  • 총화

  • 1. 배경
    새 버 전 nginx 는 TCP 역방향 에이전트 기능 이 있 습 니 다. nginx 의 mail proxy 설정 인증 이 너무 번 거 로 워 서 TCP 역방향 기능 으로 mail 대 리 를 하려 고 합 니 다.
    2. Nginx 설치 (nginx upstream check module 포함)
    cd /tmp
    tar zxf pcre-8.35.tar.gz
    cd pcre-8.35/
    ./configure --prefix=/usr/local/pcre
    make
    make install
    
    cd /tmp
    tar zxf openssl-1.0.2g.tar.gz
    cd openssl-1.0.2g/
    ./config enable-tl***t
    make
    make install
    mv -f /usr/bin/openssl /usr/bin/openssl.old
    mv -f /usr/include/openssl /usr/include/openssl.old
    ln -sf /usr/local/ssl/bin/openssl /usr/bin/openssl
    ln -sf /usr/local/ssl/include/openssl /usr/include/openssl
    
    cd /tmp
    git clone [email protected]:yaoweibin/nginx_upstream_check_module.git
    
    cd /tmp
    tar zxf nginx-1.13.4.tar.gz
    cd nginx-1.13.4/
    patch -p1 < ../nginx_upstream_check_module/check_1.12.1+.patch
    ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-stream=dynamic --with-stream_ssl_module --with-pcre=../pcre-8.35 --with-http_ssl_module --with-openssl=../openssl-1.0.2g --add-module=../nginx_upstream_check_module
    make
    make install

    3. Nginx 설정cat nginx.conf
    user  www;
    worker_processes  8;
    
    error_log  logs/info.log  info;
    
    #pid        logs/nginx.pid;
    
    load_module modules/ngx_stream_module.so;  #        
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        #                  '$status $body_bytes_sent "$http_referer" '
        #                  '"$http_user_agent" "$http_x_forwarded_for"';
    
        #access_log  logs/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    
        #        
        server_names_hash_bucket_size 128;  
        client_header_buffer_size 32k;  
        large_client_header_buffers 4 32k;  
        client_max_body_size 300m;  
        #sendfile on;  
        tcp_nopush     on;  
        #keepalive_timeout 60;  
        tcp_nodelay on;  
        server_tokens off;  
        client_body_buffer_size 512k;  
        proxy_connect_timeout   20;  
        proxy_send_timeout      60;  
        proxy_read_timeout      20;  
        proxy_buffer_size       16k;  
        proxy_buffers           4 64k;  
        proxy_busy_buffers_size 128k;  
        proxy_temp_file_write_size 128k;   
        client_header_timeout  3m;  
        client_body_timeout    3m;  
        send_timeout           3m;  
    
    
        gzip on;#  gzip,      
        gzip_min_length  1100;  
        gzip_buffers     4 8k;  
        gzip_types       text/plain text/css application/x-javascript image/bmp application/javascript;     
    
        output_buffers   1 32k;  
        postpone_output  1460;  
    
        limit_rate_after 3m;#    , 3M        
        limit_rate 512k; #       
    
    
    include vhost/*.conf;
    
    }
    
    stream {
    include stream/*.conf;
    }
    cat stream/mail_pro.conf
    ######### TCP            ###############
    upstream mailsmtp_pro {
            server smtp.mxhichina.com:25;
    }
    
    server {
            listen 25; #       TCP  
            proxy_connect_timeout 5s;
            proxy_timeout 5s;
            proxy_pass mailsmtp_pro;
    }

    4. 총화
    Nginx 기능 이 강 합 니 다. 이 글 도 TCP 역방향 대 리 를 사용 하고 싶 은 친구 에 게 예 를 들 어 참고 하 세 요.

    좋은 웹페이지 즐겨찾기