您好,登錄后才能下訂單哦!
本篇文章為大家展示了使用nginx怎么實(shí)現(xiàn)反向代理,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
代理:通過客戶機(jī)的配置,實(shí)現(xiàn)讓一臺服務(wù)器(代理服務(wù)器)代理客戶機(jī),客戶的所有請求都交給代理服務(wù)器處理。
反向代理:用一臺服務(wù)器,代理真實(shí)服務(wù)器,用戶訪問時,不再是訪問真實(shí)服務(wù)器,而是代理服務(wù)器。
nginx可以當(dāng)做反向代理服務(wù)器來使用:
我們需要提前在nginx中配置好反向代理的規(guī)則,不同的請求,交給不同的真實(shí)服務(wù)器處理
當(dāng)請求到達(dá)nginx,nginx會根據(jù)已經(jīng)定義的規(guī)則進(jìn)行請求的轉(zhuǎn)發(fā),從而實(shí)現(xiàn)路由功能
利用反向代理,就可以解決我們前面所說的端口問題,如圖:
安裝非常簡單,把課前資料提供的nginx直接解壓即可,綠色免安裝,舒服!
下載nginx:http://nginx.org/en/download.html
我們在本地安裝一臺nginx:
解壓后,目錄結(jié)構(gòu):
conf:配置目錄
contrib:第三方依賴
html:默認(rèn)的靜態(tài)資源目錄,類似于tomcat的webapps
logs:日志目錄
nginx.exe:啟動程序。可雙擊運(yùn)行,但不建議這么做。
示例:
nginx中的每個server就是一個反向代理配置,可以有多個server
完整配置:
#user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; server { listen 80; server_name manage.leyou.com; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://127.0.0.1:9001; proxy_connect_timeout 600; proxy_read_timeout 600; } } server { listen 80; server_name api.leyou.com; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://127.0.0.1:10010; proxy_connect_timeout 600; proxy_read_timeout 600; } } }
nginx可以通過命令行來啟動,操作命令:
啟動:start nginx.exe
停止:nginx.exe -s stop
重新加載:nginx.exe -s reload
啟動過程會閃爍一下,啟動成功后,任務(wù)管理器中會有兩個nginx進(jìn)程:
啟動nginx,然后用域名訪問后臺管理系統(tǒng): 現(xiàn)在實(shí)現(xiàn)了域名訪問網(wǎng)站了,中間的流程是怎樣的呢?
瀏覽器準(zhǔn)備發(fā)起請求,訪問 http://mamage.leyou.com
,但需要進(jìn)行域名解析
優(yōu)先進(jìn)行本地域名解析,因為我們修改了hosts,所以解析成功,得到地址:127.0.0.1
請求被發(fā)往解析得到的ip,并且默認(rèn)使用80端口: http://127.0.0.1:80
本機(jī)的nginx一直監(jiān)聽 80
端口,因此捕獲這個請求
nginx中配置了反向代理規(guī)則,將 manage.leyou.com
代理到 127.0.0.1:9001
,因此請求被轉(zhuǎn)發(fā)
后臺系統(tǒng)的webpack server監(jiān)聽的端口是9001,得到請求并處理,完成后將響應(yīng)返回到nginx
nginx將得到的結(jié)果返回到瀏覽器
上述內(nèi)容就是使用nginx怎么實(shí)現(xiàn)反向代理,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。