IDC

用Nginx TCP反向代理作mail邮件代理

作者:admin 2021-06-22 我要评论

1. 背景 2. Nginx安装(包括nginx_upstream_check_module) 3. Nginx配置 4. 总结 1. 背景 新版本nginx有TCP反向代理功能,nginx的mail proxy配置认证又太麻烦,于...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

  • 1. 背景
  • 2. Nginx安装(包括nginx_upstream_check_module)
  • 3. Nginx配置
  • 4. 总结

1. 背景

新版本nginx有TCP反向代理功能,nginx的mail proxy配置认证又太麻烦,于是就想用TCP反向功能作mail代理。

2. Nginx安装(包括nginx_upstream_check_module)

  1. cd /tmp 
  2. tar zxf pcre-8.35.tar.gz 
  3. cd pcre-8.35/ 
  4. ./configure --prefix=/usr/local/pcre 
  5. make 
  6. make install 
  7.  
  8. cd /tmp 
  9. tar zxf openssl-1.0.2g.tar.gz 
  10. cd openssl-1.0.2g/ 
  11. ./config enable-tl***t 
  12. make 
  13. make install 
  14. mv -f /usr/bin/openssl /usr/bin/openssl.old 
  15. mv -f /usr/include/openssl /usr/include/openssl.old 
  16. ln -sf /usr/local/ssl/bin/openssl /usr/bin/openssl 
  17. ln -sf /usr/local/ssl/include/openssl /usr/include/openssl 
  18.  
  19. cd /tmp 
  20. git clone git@github.com:yaoweibin/nginx_upstream_check_module.git 
  21.  
  22. cd /tmp 
  23. tar zxf nginx-1.13.4.tar.gz 
  24. cd nginx-1.13.4/ 
  25. patch -p1 < ../nginx_upstream_check_module/check_1.12.1+.patch 
  26. ./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 
  27. make 
  28. make install 

3. Nginx配置

  1. cat nginx.conf 
  2.  
  3. user  www; 
  4. worker_processes  8; 
  5.  
  6. error_log  logs/info.log  info; 
  7.  
  8. #pid        logs/nginx.pid; 
  9.  
  10. load_module modules/ngx_stream_module.so;  # 此处要添加模块 
  11.  
  12. events { 
  13.     worker_connections  1024; 
  14.  
  15. http { 
  16.     include       mime.types; 
  17.     default_type  application/octet-stream; 
  18.  
  19.     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' 
  20.     #                  '$status $body_bytes_sent "$http_referer" ' 
  21.     #                  '"$http_user_agent" "$http_x_forwarded_for"'
  22.  
  23.     #access_log  logs/access.log  main; 
  24.  
  25.     sendfile        on
  26.     #tcp_nopush     on
  27.  
  28.     #keepalive_timeout  0; 
  29.     keepalive_timeout  65; 
  30.  
  31.     #gzip  on
  32.  
  33.     #设定请求缓冲   
  34.     server_names_hash_bucket_size 128;   
  35.     client_header_buffer_size 32k;   
  36.     large_client_header_buffers 4 32k;   
  37.     client_max_body_size 300m;   
  38.     #sendfile on;   
  39.     tcp_nopush     on;   
  40.     #keepalive_timeout 60;   
  41.     tcp_nodelay on;   
  42.     server_tokens off;   
  43.     client_body_buffer_size 512k;   
  44.     proxy_connect_timeout   20;   
  45.     proxy_send_timeout      60;   
  46.     proxy_read_timeout      20;   
  47.     proxy_buffer_size       16k;   
  48.     proxy_buffers           4 64k;   
  49.     proxy_busy_buffers_size 128k;   
  50.     proxy_temp_file_write_size 128k;    
  51.     client_header_timeout  3m;   
  52.     client_body_timeout    3m;   
  53.     send_timeout           3m;   
  54.  
  55.  
  56.     gzip on;#开启gzip,节省带宽   
  57.     gzip_min_length  1100;   
  58.     gzip_buffers     4 8k;   
  59.     gzip_types       text/plain text/css application/x-javascript image/bmp application/javascript;      
  60.  
  61.     output_buffers   1 32k;   
  62.     postpone_output  1460;   
  63.  
  64.     limit_rate_after 3m;#限速模块,前3M下载时不限速   
  65.     limit_rate 512k; #限速模块    
  66.  
  67.  
  68. include vhost/*.conf; 
  69.  
  70.  
  71. stream { 
  72. include stream/*.conf; 
  73. cat stream/mail_pro.conf 
  74.  
  75. ######### TCP 反向代理负载均衡设置 ############### 
  76. upstream mailsmtp_pro { 
  77.         server smtp.mxhichina.com:25; 
  78.  
  79. server { 
  80.         listen 25; # 对外提供服务TCP监听 
  81.         proxy_connect_timeout 5s; 
  82.         proxy_timeout 5s; 
  83.         proxy_pass mailsmtp_pro; 

4. 总结

Nginx功能强大,此文也是给想使用TCP反向代理的朋友作个示例参考吧。


本文转载自网络,原文链接:http://www.linuxidc.com/Linux/2017-08/146599.htm?utm_source=tuicool&utm_medium=referral

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 【活动回顾】Edge X Kubernetes,探索

    【活动回顾】Edge X Kubernetes,探索

  • 云端赛车-Amazon DeepRacer 的前世今生

    云端赛车-Amazon DeepRacer 的前世今生

  • 云原生时代,企业多活容灾体系构建思路

    云原生时代,企业多活容灾体系构建思路

  • 如何帮用户管好云账本?阿里云数据库助

    如何帮用户管好云账本?阿里云数据库助