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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM