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

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

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 [email protected]: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 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反向代理的朋友作个示例参考吧。

时间: 2024-08-08 20:32:06

用nginx TCP反向代理作mail邮件代理的相关文章

Nginx Tcp反向代理

nginx tcp代理功能由nginx_tcp_proxy_module模块提供,同时监测后端主机状态.该模块包括的模块有: ngx_tcp_module, ngx_tcp_core_module, ngx_tcp_upstream_module, ngx_tcp_proxy_module, ngx_tcp_upstream_ip_hash_module. 1. 安装 # wget http://nginx.org/download/nginx-1.4.4.tar.gz # tar zxvf n

nginx以upstream分组的方式实现tcp反向代理

nginx以upstream分组的方式实现tcp反向代理 nginx在1.9版本开始支持tcp模式的负载均衡,在1.9.13版本开始支持udp协议的负载均衡,udp主要用于DNS的域名解析,其配置方式和指令和http代理类似,其基于ngx_steam_proxy_module模块实现tcp负载,另外基于ngx_stream_upstream_module实现后端服务器的分组转发.权重分配.状态监测.调度算法等高级功能官方文档的example: worker_processes auto; err

Nginx + Tomcat 反向代理 负载均衡 集群 部署指南

转载请注明出处:http://blog.csdn.net/smartbetter/article/details/53535435 Nginx是一种服务器软件,也是一种高性能的http和反向代理服务器,同时还是一个代理邮件服务器.也就是说,我们在Nginx上可以发布网站,可以实现负载均衡(提高应答效率,避免服务器崩溃),还可以作为邮件服务器实现收发邮件等功能.而最常见的就是使用Nginx实现负载均衡. Nginx与其他服务器的性能比较: Tomcat服务器面向Java语言,是重量级的服务器,而N

Nginx实现反向代理负载均衡与静态缓存

介绍: Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.在连接高并发的情况下,Nginx是Apache服务器不错的替代品,能够支持高达50000个并发连接数的响应. 实验环境: Hostname IP 系统 规划 n2.preferred 192.168.1.2 Centos 6.5 Web server n3.preferred 192.168.1.3 Centos 6.5 Web server n6.preferred 192.168.1.6

Nginx构建反向代理缓存服务器

防伪码:曾经沧海难为水,除却巫山不是云. 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上,然后由代理服务器去访问Web服务器, 并将Web服务器的Response回传给客户端:  反向代理: 与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提

CentOS 7 安装Nginx做反向代理

题记 须要使用nginx的反向代理功能,測试环境为centos+NGINX 1.8.0. 跳过一些繁琐的问题,直接记录核心 步骤 (1)centos 安装在VM中.因此须要注意网络连接问题 (2)安装nginx使用的是具有网络的yum功能 (3)配置centos防火墙,须要开启80 port (4)nginx 反向代理配置 (5)性能优化设置(兴许工作...) 实现 一. yum安装nginx 先加入nginx源,測试使用最新的nginx 1.8.0 rpm -ivh http://nginx.

NGINX如何反向代理Tomcat并且实现Session保持

简介 LNMT=Linux+Nginx+MySQL+Tomcat: Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器: 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选: 架构需求 Tomcat实现JSP动态请求解析的基本架构 说明:由后端Tomcat负责解析动态jsp请求,但为了提高响应性能,在同一主机内配置Nginx做反向代理,转发所有请求至tomcat即可: 完整的LNMT架构设计 说明:本篇博客主要讲解单台Hapro

4-1-面试必备-nginx实现反向代理配置与实战

nginx服务有缓存机制,但是要看nginx做为什么服务器来用,才启用缓存,否则自己的压力就非常大了(后端服务器压力小),因为nginx最拿手的是维持连接,缓存可以使用其他服务.nat服务工作在三层和四层,可以简单理解为工作在四层.注意:如果能工作在应用层就叫做代理,那么这个服务器就能监听一些端口但不是全部,---意思是服务器具有业务处理能力,一边是客户端(要理解客户端发的内容),一边是服务端(用自己的方式把内容传过去),所以可以有自己的缓存了 上边讲的是正向代理和反向代理的原理,nginx是可

nginx的反向代理和配置

最近有打算研读nginx源代码,看到网上介绍nginx可以作为一个反向代理服务器完成负载均衡.所以搜罗了一些关于反向代理服务器的内容,整理综合. 一  概述 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器:并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器. 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接