1、使用docker容器內(nèi)的 nginx+uwsgi+django 在服務(wù)器A(沒(méi)有域名)上部署一個(gè)簡(jiǎn)單的Web項(xiàng)目
2善茎、使用ngrok內(nèi)網(wǎng)穿透,服務(wù)器A(沒(méi)有域名)作為ngrok客戶端频轿,服務(wù)器B(有域名 xxx.com)作為ngrok服務(wù)端
最終實(shí)現(xiàn)垂涯,訪問(wèn)指向服務(wù)器B的域名時(shí),服務(wù)器B接收到請(qǐng)求航邢,將請(qǐng)求通過(guò)ngrok轉(zhuǎn)發(fā)給服務(wù)器A耕赘,服務(wù)器A接受到請(qǐng)求后,將請(qǐng)求轉(zhuǎn)發(fā)給docker內(nèi)的Web服務(wù)膳殷。
但是遇到一個(gè)問(wèn)題操骡,在我按默認(rèn)配置,服務(wù)器A上的nginx監(jiān)聽80端口赚窃,docker容器映射 8088:80端口册招,ngrok客戶端映射子域名為fun,暴露服務(wù)器主機(jī)?8088端口時(shí)勒极,我在外網(wǎng)訪問(wèn)域名fun.xxx.com是掰,會(huì)出現(xiàn)nginx的默認(rèn)開啟界面,沒(méi)有出現(xiàn)我的Web服務(wù)界面辱匿。暫時(shí)搞不清楚原因键痛。
解決方法炫彩,將服務(wù)器A上的nginx監(jiān)聽其他端口,例如監(jiān)聽8123端口散休,docker容器映射 8088:8123端口媒楼,ngrok客戶端映射子域名為fun,暴露服務(wù)器A 8088端口時(shí)戚丸,我在外網(wǎng)訪問(wèn)域名fun.xxx.com划址,會(huì)正常顯示為我的web服務(wù)界面。
用戶訪問(wèn) fun.xxx.com ---> 服務(wù)器B上的ngrok服務(wù)端 ---> 服務(wù)器A上的ngrok客戶端 ---> 服務(wù)器A上的docker容器 --->服務(wù)器A上docker容器內(nèi)的nginx掛載的Web服務(wù)