最近公司有個需求要求監控系統運行,報錯要求發郵件通知我們自己,但是有一個問題是服務器不能夠訪問外網所以直接發郵件的途徑就直接不能用了,然後想到有一臺可以訪問外網的同局域網機器,就想能不能通過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端口 即可實現