Web开发编程网
分享Web开发相关技术

解决SMTP发信暴露服务器源IP的方法

最近很多朋友问,SMTP发信会暴露网站服务器的IP(即使用了CDN),该怎么解决这个问题呢?解决方法其实有很多种,我就说说我目前在用的一种方法,就是使用Haproxy中转,大致上和Haproxy安装及端口转发配置这个文章差不多。好了,废话也就不说那么多了,直接开始吧。

第一步:
需要找一台机器做中转,先安装Haproxy,参考Haproxy安装及端口转发配置这篇文章,然后我们来看看配置文件:

global

ulimit-n  51200

defaults

log global

mode    tcp

option  dontlognull

timeout connect 1000ms

timeout client 150000ms

timeout server 150000ms

listen status

bind 0.0.0.0:1080

mode http

log global

stats refresh 30s

stats uri /admin?stats

stats realm Private lands

stats auth admin:password

stats hide-version

frontend ssin

bind *:1000-2000

default_backend ssout

backend ssout

server server1 11.22.33.44 maxconn 204800

我们只需要修改上面代码片段中的两处

bind *:465

// 如果是普通模式,那这里就填25,如果是SSL模式,就需要填465

server server1 11.22.33.44 maxconn 204800

//这里的IP需要改成SMTP地址的IP,ping一下SMTP域名即可得到地址

修改完成后,执行重启命令,并设为开机启动

service haproxy restart

chkconfig haproxy on

第二步:
登录WEB服务器,把smtp地址写进/etc/hosts文件,指向中转服务器的IP。假如我使用的是阿里云的邮件推送,那么它的SMTP服务器域名就是:smtpdm.aliyun.com 然后编辑/etc/hosts文件

[root@sscloud ~]# vim /etc/hosts

127.0.0.1 localhost

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.16.156.98 sscloud

22.33.44.55  smtpdm.aliyun.com

//22.33.44.55就是中转服务器的IP

修改完成后,执行service network restart 重启网卡即可。

未经允许不得转载:WEB开发编程网 » 解决SMTP发信暴露服务器源IP的方法

WEB开发编程网

谢谢支持,我们一直在努力

安全提示:您正在对WEB开发编程网进行赞赏操作,一但支付,不可返还。