nginx 代理第三方邮件站点
需求:公司业务服务器使用的是阿里云,要求内网(仅有内网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/
nginx 代理第三方邮件站点的更多相关文章
- nginx代理https站点(亲测)
nginx代理https站点(亲测) 首先,我相信大家已经搞定了nginx正常代理http站点的方法,下面重点介绍代理https站点的配置方法,以及注意事项,因为目前大部分站点有转换https的需要所 ...
- 决解nginx代理的django项目的admin站点无法访问,和没样式的问题。
首先我们先解决无法访问admin站点的问题 首先我们先修改一下nginx的配置,添加红色框框的部分. 然后重新启动一下nginx 访问一下admin站点 发现没有样式了. 我们先修改/fast_foo ...
- Nginx代理与负载均衡配置与优化
Nginx代理 Nginx从0.7.48版本开始,支持了类似Squid的缓存功能.Nginx的Web缓存服务主要由proxy_cache相关指令集和fastcgi_cache相关指令集构成,前者用于反 ...
- 使用nginx代理weblogic负载方案
之前一直用apache来做weblogic的前端,由于nginx对静态内容的出色性能,不得不转投nginx.这里就不 再写weblogic的安装了. 安装nginx nginx需要pcre做支持,一般 ...
- ASP.NET Core部署到CentOS7,使用Nginx代理
ASP.NET Core 的运行环境由新开发的 Kestrel Server 负责,IIS 退回到 HTTP 的侦听器的角色,微软也特别为了这个需求开发了 IIS Platform Handler,以 ...
- Nginx - 代理、缓存
Nginx 标签 : nginx 代理 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送 ...
- swagger.net 使用nginx 代理时出现端口号导致出错
1:当我们通过nginx代理访问时,由于nginx配置了映射到的一个站点为端口为127.0.0.1:6201,导致访问swagger接口时出现增加端口号,如下截图,这样就导致整个swagger无法使用 ...
- nginx代理部署Vue与React项目
nginx代理部署Vue与React项目 一,介绍与需求 1.1,介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由 ...
- nginx代理tomcat
http://blog.csdn.net/kongqz/article/details/6838989 http://www.800l.com/linux-nginx-tomcat-jdk.html ...
随机推荐
- 用shell脚本生成at一次性的计划任务
用shell生成一次性计划任务,这个任务就是执行另一个脚本 #!/bin count=`grep "sh /usr/local/sbin/iptables.sh" /var/spo ...
- 从git上拉取项目 如果数据库密码不一致 会报错 500
解决方法 在该路径下设置 数据库的密码
- vue axios从服务器加载图片并显示
使用场景: 后台传给前端一个图片二进制流,但是要添加httpp header,但是在传统的用img标签查看图片,无法添加http header this.$axios({ method: 'get', ...
- Form表单中method="post/get'的区别
Form提供了两种数据传输的方式--get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响.虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一 ...
- EMD——EEMD——CEEMD语音增强算法基础
首先,HHT中用到的EMD详细介绍:https://wenku.baidu.com/view/3bba7029b4daa58da0114a9a.html 本文具体参考 https://zhuanlan ...
- java作业-----方法重载
满足方法重载的条件:1.方法名相同 2.参数类型不同,参数个数不同,参数类型的顺序不同. 同时,方法的返回值不作为方法重载的判断条件.
- OA项目-xadmin使用
############### xadmin安装和配置 ############### """ 环境: Python3.6.3 django1.11.11 创建dj ...
- python-django框架-电商项目-用户模块开发_20191117
实现注册的基本逻辑: 1,注册页面 注意:注册页面需要静态文件的支持,另外注册页面是基础基类的, 1,url,路由系统, 2,views,视图系统,还是使用类视图,里面有很多的函数, 2,views. ...
- xmemcached过期时间
最近项目中使用到了Memcached,而客户端选择了XMemcached ,在设置过期时间时,因对Memcached 不熟悉,将expire 设置为1000000000,本意表示尽量长的时间不要过期, ...
- python中使用自定义类实例作为字典的key
python中dict类型的key值要求是不可变类型,通常来说,我们一般采用int或者str类型来作为字典的key,但是在某些场景中,会造成一定的麻烦. 如我们有一个处理http Request的规则 ...