nginx 代理第三方邮件站点

2019/05/03 18:56
阅读数 35

需求:公司业务服务器使用的是阿里云,要求内网(仅有内网IP)所有流量走网关服务器(有外网IP及内网IP),内网服务器需要调用一个公网上的第三方邮件站点。在参考了https://www.linuxba.com/archives/7931的配置方法并亲自请教博主后得到了使用stream模块解决该问题: 1.重新编译NGINX,添加stream模块(使用动态模块亦可),具体如何重新编译以及该模块的作用我就不在这里班门弄斧了,请参考官网或其它教程。 2.编译后在NGINX的配置文件中添加配置 在nginx.conf的末尾添加 stream { stream/*.conf } 在nginx.conf的同级目录创建stream目录并进入stream目录添加mail.conf并配置指令 upstream smtphm.qiye.163.com { #该域名为反代的虚拟域名,应该和代码里调用的域名一样。 server smtphm.qiye.163.com:994; #第三方邮件服务器的域名及端口 } server { listen 994; #监听端口,最好与第三方邮件服务器的端口相同,是否可以不同未实验,有兴趣的可以试试。 proxy_connect_timeout 60s; #根据实际需要填写大小 proxy_timeout 60s; #根据实际需要填写大小 proxy_pass smtphm.qiye.163.com; } 重新加载配置文件使其生效,执行nginx -s reload 在内网需要访问该网关服务器的服务器上写hosts指向网关服务器(写内网IP即可)

总结: 1.朋友给我推荐了另外一篇教程,我发现与我现在使用的方法一样,链接是 https://blog.csdn.net/yongyong169/article/details/80815549 供各位学习交流。 2.这问题使用nginx的邮件模块也可解决,但是我看了邮件模块的使用方法根本没看懂,所以没使用该方法。有兴趣的可以参考这两篇教程https://www.jianshu.com/p/b27e76ba6ac8 https://blog.csdn.net/lovewebeye/article/details/79930515 3.简单来说我这需求就是解决阿里云内网无法访问外网的问题,还有如下几种解决方法:一、使用阿里云的NAT网关技术也可以解决,只是费用较高。二、自己写防火墙规则,参考教程 https://www.cnblogs.com/ddif/articles/9930450.html 4.这里推荐一个nginx各种代理的教程 https://blog.lyz810.com/article/2016/10/nginx-proxy-module-guide/

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部