最近公司有个需求要求监控系统运行,报错要求发邮件通知我们自己,但是有一个问题是服务器不能够访问外网所以直接发邮件的途径就直接不能用了,然后想到有一台可以访问外网的同局域网机器,就想能不能通过nginx去给我做转发,捣鼓了一个下午之后终于可以了!记录一下
根据阿里云发送邮件的api的来看域名是 :dm.aliyuncs.com 可以适应http或者https调用api 这里用http方式调用
然后nginx的目的是访问我这台机器指定端口我跳转到上面的域名去
首先配置nginx 访问8101端口转跳到 http://dm.aliyuncs.com
server {
listen 8101;
location / {
proxy_pass http://dm.aliyuncs.com;
proxy_connect_timeout 5;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_http_version 1.1;
}
}
访问报错,原因可能是阿里云后台开启了域名检测
所以接下来修改服务器上的 hosts 文件 做本地的域名映射
在最下面添加 192.168.45.12 dm.aliyuncs.com
即你在本地访问 dm.aliyuncs.com 是会解析到 192.165.45.12 上
就能成功了
主要改变就是在原链接上添加端口即可
如果不想修改链接 nginx 可以监听80端口 即可实现