nginx域名轉(zhuǎn)發(fā)工作原理有哪些?
??Nginx 工作原理
??Nginx由內(nèi)核和模塊組成,Nginx本身做的工作實際很少,當它接到一個HTTP請求時,它僅僅是通過查找配置文件將此次請求映射到一個location block。
??此location中所配置的各個指令則會啟動不同的模塊去完成工作,因此模塊可以看做Nginx真正的勞動工作者。
??通常一個location中的指令會涉及一個handler模塊和多個filter模塊(當然,多個location可以復(fù)用同一個模塊)。
??handler模塊負責處理請求,完成響應(yīng)內(nèi)容的生成,而filter模塊對響應(yīng)內(nèi)容進行處理。
??用戶根據(jù)自己的需要開發(fā)的模塊都屬于第三方模塊,正是有了這么多模塊的支撐,Nginx的功能才會如此強大。
??Nginx的模塊從結(jié)構(gòu)上分為核心模塊、基礎(chǔ)模塊和第三方模塊:
??核心模塊:HTTP模塊、EVENT模塊和MAIL模塊
??基礎(chǔ)模塊:HTTP Access模塊、HTTP FastCGI模塊、HTTP Proxy模塊和HTTP Rewrite模塊
??第三方模塊:HTTP Upstream Request Hash模塊、Notice模塊和HTTP Access Key模塊。
??nginx實現(xiàn)請求轉(zhuǎn)發(fā)方法如下:
??反向代理適用于很多場合,負載均衡是最普遍的用法。
??nginx作為目前最流行的web服務(wù)器之一,可以很方便地實現(xiàn)反向代理。
??nginx反向代理官方文檔: NGINX REVERSE PROXY
??當在一臺主機上部署了多個不同的web服務(wù)器,并且需要能在80端口同時訪問這些web服務(wù)器時,可以使用新網(wǎng)nginx 的反向代理功能: 用 nginx 在80端口監(jiān)聽所有請求,并依據(jù)轉(zhuǎn)發(fā)規(guī)則(比較常見的是以 URI 來轉(zhuǎn)發(fā))轉(zhuǎn)發(fā)到對應(yīng)的web服務(wù)器上。
??例如有 webmail , webcom 以及 webdefault 三個服務(wù)器分別運行在 portmail , portcom , portdefault 端口,要實現(xiàn)從80端口同時訪問這三個web服務(wù)器,則可以在80端口運行 nginx, 然后將 /mail 下的請求轉(zhuǎn)發(fā)到 webmail 服務(wù)器, 將 /com下的請求轉(zhuǎn)發(fā)到 webcom 服務(wù)器, 將其他所有請求轉(zhuǎn)發(fā)到 webdefault 服務(wù)器。
??nginx配置域名轉(zhuǎn)發(fā)到其他域名的幾種方法:
??return 指令
??在重定向滿足兩個條件時適用:
??重寫的 URL 適用于每個匹配的 server 或 location 的請求
??可以使用標準的 NGINX 變量構(gòu)建重寫的 URL
??return 指令簡單高效,建議盡量使用 return,而不是 rewrite。
??return 指令放在 server 或 location 上下文中。語法很簡單
??1.return code [text];
??2.return code URL;
??3.return URL;
??Nginx配置域名轉(zhuǎn)發(fā)的概述
??當在一個服務(wù)器部署多個服務(wù),不同服務(wù)需要通過不同域名訪問時,可以通過新網(wǎng)Nginx代理進行域名轉(zhuǎn)發(fā),同時還可以通過配置SSL模塊實現(xiàn)https訪問。
??所以,綜上所述,關(guān)于nginx域名轉(zhuǎn)發(fā)到其他域名的幾種方法了解了其原理以及方法,對以后nginx域名轉(zhuǎn)發(fā)會有幫助,大家有不明白的地方可以留言咨詢!
聲明:免責聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認相關(guān)法律責任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科