解决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 重启网卡即可。

您可以选择一种方式赞助本站

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: