代理是在內(nèi)部應(yīng)用程序和外部客戶端之間的服務(wù)器,將客戶端請求轉(zhuǎn)發(fā)到相應(yīng)的服務(wù)器。Nginx 的反向代理服務(wù)器是代理服務(wù)器位于私有網(wǎng)絡(luò)的防火墻后面,將客戶端請求發(fā)送到相應(yīng)的后端服務(wù)器。
負(fù)載平衡:反向代理服務(wù)器可以充當(dāng)駐留在我們后端服務(wù)器前面的交通警察,并以提高速度和容量利用率的方式在一組服務(wù)器之間分配客戶端請求,同時確保沒有任何服務(wù)器過載。如果服務(wù)器未啟動,則負(fù)載平衡器會將流量重定向到其余的在線服務(wù)器。
Web 加速: Nginx 反向代理用于壓縮出站和入站數(shù)據(jù),以及緩存常見請求的內(nèi)容,這兩者都加快了客戶端和服務(wù)器之間的流量流動。
安全性和匿名性:我們可以攔截前往我們后端服務(wù)器的客戶端的請求,通過這樣做,反向代理服務(wù)器可以保護(hù)他們的身份并作為對安全攻擊的額外防御。
當(dāng) NGINX 服務(wù)器代理請求時,它將請求發(fā)送到指定的服務(wù)器,獲取響應(yīng),并將其發(fā)送回客戶端??梢允褂弥付ǖ膮f(xié)議向 HTTP 服務(wù)器或非 HTTP 服務(wù)器發(fā)送代理請求。支持的協(xié)議包括 FastCGI、uwsgi、SCGI 和 Memcached。
要將請求傳遞到 HTTP 代理服務(wù)器,使用 proxy_pass 指令。例如:
location /some/path/ { proxy_pass http://www.example.com/link/; }
要將請求傳遞到非 HTTP 代理服務(wù)器,請使用適當(dāng)?shù)?**_pass 指令: