DNS,域名系統

DNS是什麼以及它是如何運作的概述 通常我們不會用IP地址來訪問網站。雖然可以,但很少見。 我們通常使用域名,比如google.com或flaviocopes.com。 這非常方便,因為例如我可以更改用於託管網站的伺服器和公司,同時保持相同的域名。 將域名映射到IP地址的系統稱為DNS(Domain Name System,域名系統)。 DNS是一個由伺服器組成的網絡。您的供應商將擁有自己的DNS,您的路由器已經預先配置為使用它。 您也可以選擇使用Google的DNS伺服器,其IP地址為8.8.8.8。 這些DNS伺服器將接收來自您的計算機的請求,然後再向它們自己的參考DNS伺服器發出請求。 該系統組織成一棵樹。頂部有一個名為根DNS伺服器的DNS伺服器。 簡而言之,它知道管理每個域名擴展名(如.com、.net、.org)和國家特定的域名擴展名以及新的域名擴展名(如.blog、.dev或.tech)的DNS伺服器的IP地址。 這些DNS伺服器知道其擴展名下所有域名的IP地址映射。 當然,該系統設置了緩存、冗余和能夠承受高並發請求的能力,但這是一般概念。

什麼是反向代理?

了解什麼是反向代理以及其有什麼用處! 在談到伺服器時,聽到「反向代理」這個詞是很常見的。 在本文中,我想解釋什麼是反向代理,以及它的作用。 首先,讓我們談一下「代理」這個詞。代理是一個伺服器,接受客戶端的連接,這些客戶端在其網絡設置中主動配置了代理伺服器。 當客戶端與伺服器建立連接時,請求始終通過該代理伺服器傳遞。 這種做法有幾種用途。公司和組織可以設置代理伺服器來過濾連接、提供更高的安全性並記錄流量。如果不使用代理,客戶端無法連接到外部網絡。代理伺服器還有助於提供隱私並避免國家政府對網絡的限制。 另一方面,反向代理是由伺服器設置的。對於客戶端而言,它是完全透明的,他們不知道這個中間人的存在,但它在伺服器上做了一個非常有用的工作,過濾請求並將它們發送到處理這些請求的相應服務。 常常使用Nginx作為反向代理(也可以參考我們的nginx反向代理文章),並且運行在內部端口上的Node.js服務不可以外界訪問。 在這種情況下,Nginx充當主要的請求處理程序,並將相應的請求發送到特定的服務,例如將特殊子文件夾或URL鏈接到特定服務。 我們可以有兩個完全不同的Node.js應用程序,而用戶不需要知道該信息。 除了我們開發人員主要使用的路由功能之外,反向代理還非常適合過濾和保護避免攻擊,作為防火牆,引入緩存,配置SSL,處理負載平衡,AB測試等等。