問(wèn)題:項(xiàng)目進(jìn)行了前后端分離,同一臺(tái)服務(wù)器下 后臺(tái)使用docker 進(jìn)行部署殴边,并使用Nginx 進(jìn)行代理訪問(wèn)后臺(tái)驻债,結(jié)果上傳30M 文件用了1分鐘,實(shí)際上10秒左右就可以了强衡。
分析問(wèn)題:
剛開(kāi)始以為是 client_max_body_size
proxy_send_timeout
proxy_read_timeout
的問(wèn)題擦秽,因?yàn)樯蟼魉俣群芸欤蔷褪窃谏蟼鞒晒箐銮冢恢痹诘却?wù)器的響應(yīng)感挥。所以一開(kāi)始就都在這個(gè)問(wèn)題上糾結(jié)耗費(fèi)挺多時(shí)間。
后面同事說(shuō)是 proxy_pass http://ht-api:9001;
的問(wèn)題,注意這個(gè)代理地址里面的這個(gè)ht-api
這個(gè)其實(shí)是我部署docker 的容器名稱(chēng)锯七,了解docker 的都知道链快,docker 容器在同一個(gè)bridge網(wǎng)絡(luò)下可以通過(guò)名稱(chēng)進(jìn)行訪問(wèn)的誉己,當(dāng)時(shí)我就覺(jué)得這個(gè)也相當(dāng)于內(nèi)網(wǎng)的訪問(wèn)的呀眉尸,并沒(méi)有再經(jīng)過(guò)其他網(wǎng)絡(luò)層了。
真正解決:
說(shuō)白還是對(duì)docker 不了解后面是更換了 proxy_pass http://127.17.0.3:9001;
容器的虛擬IP地址,才真正解決了問(wèn)題巨双。
有哪位大佬可以解釋下這個(gè)問(wèn)題么噪猾?