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

  • 用nginx TCP反向代理作mail邮件代理

    • 1. 背景

    • 2. Nginx安装(包括nginx_upstream_check_module)

    • 3. Nginx配置

    • 4. 总结

1. 背景

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

2. Nginx安装(包括nginx_upstream_check_module)

cd /tmptar zxf pcre-8.35.tar.gzcd pcre-8.35/./configure --prefix=/usr/local/pcremakemake install

cd /tmptar zxf openssl-1.0.2g.tar.gzcd openssl-1.0.2g/./config enable-tl***tmakemake installmv -f /usr/bin/openssl /usr/bin/openssl.oldmv -f /usr/include/openssl /usr/include/openssl.oldln -sf /usr/local/ssl/bin/openssl /usr/bin/opensslln -sf /usr/local/ssl/include/openssl /usr/include/openssl

cd /tmpgit clone git@github.com:yaoweibin/nginx_upstream_check_module.git

cd /tmptar zxf nginx-1.13.4.tar.gzcd 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_modulemakemake 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 p_w_picpath/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反向代理的朋友作个示例参考吧。

转载于:https://blog.51cto.com/ygqygq2/1958316

用nginx TCP反向代理作mail邮件代理相关推荐

  1. nginx反向代理打印日志_nginx启用TCP反向代理日志配置

    Nginx使用TCP反向代理日志配置不同于http 修改nginx配置文档/usr/local/nginx/conf/nginx.conf 设置日志格式 stream { log_format pro ...

  2. Nginx高性能反向代理web服务器

    基础 Nginx简介 背景介绍 Nginx("engine x")一个具有高性能的[HTTP]和[反向代理]的[WEB服务器],同时也是一个[POP3/SMTP/IMAP代理服务器 ...

  3. Nginx之反向代理与负载均衡实现动静分离实战

    Nginx之反向代理与负载均衡实现动静分离实战 什么是反向代理与负载均衡 Nginx仅仅作为Nginx  proxy反向代理使用的,因为这个反向代理功能表现的效果是负载均衡集群的效果. 负载均衡指的是 ...

  4. WAF学习之一——Nginx与反向代理

    文章目录 反向代理 什么是反向代理 反向代理与正向代理 工作流程 优点 Nginx模块 模块划分 模块处理 nginx作为反向代理的使用 作内容服务器的替身 作为内容服务器的负载均衡器 实例 1)环境 ...

  5. WEB请求处理二:Nginx请求反向代理

    上一篇<WEB请求处理一:浏览器请求发起处理>,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建立TCP连接,发送HTTP请求.本文将讲述请求到达反向代理服务器的一个处理 ...

  6. WEB 请求处理二:Nginx 请求 反向代理

    上一篇<WEB请求处理一:浏览器请求发起处理>,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建立TCP连接,发送HTTP请求.本文将讲述请求到达反向代理服务器的一个处理 ...

  7. 【网站架构】Nginx 4层、7层代理配置,正向代理、反向代理详解

    大家好,欢迎来到停止重构的频道. 本期我们讨论网络代理. 在往期<大型网站 安全性>介绍过,出于网络安全的考虑,一般大型网站都需要做网络区域隔离,以防止攻击者直接操控服务器. 网站系统的应 ...

  8. nginx tcp代理_nginx——TCP/UDP Load Balancing

    nginx––– tcp and udp 代理 Introduction nginx 反向代理一般都是7层代理,进行http/https 协议层的转发:说起4层代理,一般想到的都是lvs 和 hapr ...

  9. 如何让多端口网站用一个nginx进行反向代理实际场景分析

    前段时间公司要整合服务器资源,刚好趁这次机会将这些乱七八糟的服务器做一次梳理和整合,断断续续一个月迁移完成大概优化掉了1/3的机器,完成之后遇到了一些问题,比如曾今零零散散部署在生产上一些可视化UI: ...

最新文章

  1. RDKit | 基于Lipinski规则过滤化合物库
  2. 嘿 Siri,有没有「三天速成深度学习」的课程?
  3. 智能家居(草纲)v0.1
  4. ORACLE SQL:经典查询练手第三篇
  5. 演练 青鸟游戏迷你平台
  6. P3243 [HNOI2015]菜肴制作(拓扑 + 优先队列)
  7. 整个计算机系统结构图,计算机系统结构复习(16页)-原创力文档
  8. 如何用大数据开发套件周期调度机器学习算法
  9. jQuery源码分析(一)
  10. shp数据制作3DTiles白膜
  11. MyBatis简介及下载
  12. 用matlab建立晶体模型,一种建立多晶体几何模型的方法与流程
  13. LimeSDR官方系列教程(四):To Pothos and Beyond
  14. 强烈推荐一个上网以来见过的最好的学习资料网站,全部免费!
  15. 否则在Python中使用for / while语句
  16. iphone 控制android手机,如何从Apple手机远程控制Android手机
  17. idea的java项目怎么连数据库_idea 使用Java连接SQL Server数据库教程
  18. 国开电大 管理心理学 形考任务1-4
  19. Python基础语法笔记
  20. ITU-R 建议书下载网址

热门文章

  1. python列表索引负数_python – 如何检查列表索引是否存在?
  2. SQL server 统计分组经计
  3. 监督学习与无监督学习的区别_机器学习
  4. ASP.NET Core 2.0 : 二. 开发环境
  5. Codeforces698B【并查集+拆环】
  6. 重操JS旧业第十一弹:BOM对象
  7. FPGA机器学习之stanford机器学习第三堂1
  8. 程序员四大禁忌(同样适合向梦想冲刺的所有人~~)
  9. WebForm连接数据库实例
  10. .NET(C#)连接各类数据库