Nginx基礎知識點彙總3

2021-10-04 05:37:40 字數 2693 閱讀 3161

問題

客戶端與 nginx 伺服器之間的請求資料需要加密處理。

解決方案

啟用 ngx_http_ssl_module 或 ngx_stream_ssl_module 其中之一的 nginx ssl

模組對資料進行加密:

}例項在 server 塊級指令中設定監聽啟用 ssl 加密的 8843 埠。使用的 ssl 協議

為 tls1.2 版本。伺服器有訪問 ssl 證書及金鑰目錄的許可權。另外,伺服器和客戶端

互動採用最高強度加密資料。ssl_sesson_cache 和 ssl_session_timeout 指令用於

設定會話儲存記憶體空間和時間,除這兩個指令外,還有一些與會員有關的指令,可以

用於提公升效能和安全性。however,specifying one without the default will turn

off that default, built-in session cache.

結論

安全傳輸層是加密傳輸資料的常用手段。在寫作本書時,傳輸層安全協議(tsl)是

安全套接字層協議(ssl)的預設協議,因為,現在認為 1.0 到 3.0 版本的 ssl 協

議都是不安全的。儘管安全協議的名稱有所不同,但無論 tsl 協議還是 ssl 協議

它們的最終目的都是構建乙個安全的套接層。nginx 伺服器讓你能在服務與客戶端

之間構建加密的資料傳輸,保證業務與使用者資料安全。使用簽名證書時,需要將證

書與證書頒發機構鏈連線起來。證書和頒發機構通訊時時,你的證書應該在檔案鏈

中。如果您的證書頒發機構在鏈中提供了許多檔案,它也能夠提供它們分層的順序。

ssl 會話快取效能通過不帶版本資訊和資料加密方式的 ssl / tls 協議實現。

問題

需要在 nginx 與 upstream **伺服器之間依據具體規則構建安全通訊。

解決方案

使用 http 模組的 ssl 指令構建具體的 ssl 通訊規則:

location /

示例中配置了 nginx 與**伺服器之間通訊的 ssl 規則。首先啟用安全傳輸校驗功

能,並將 nginx 與**伺服器之間的證書校驗深度設定為 2 層。proxy_ssl_protocols

指令用於設定使用 tsl 1.2 版本協議,它的預設值是不會校驗證書,並可以使用所有

版本 tls 協議。

結論

http proxy 模組的指令繁多,如果需要啟用安全傳輸功能,至少也需要開啟校驗功能。

此外,我們還可以對 proxy_pass 指令設定協議,來實現 https 傳輸。不過,這種方

式不會對被**伺服器的證書進行校驗。其它的指令,如 proxy_ssl_certificate 和proxy_ssl_certificate_key 指令,用於配置被**伺服器待校驗證書目錄。另外,還有 proxy_ssl_crl 和 無效證書列表功能,用於列出無需認證的證書。這些 proxy 模組的 ssl 指令能夠助你構建安全的內部服務通訊和網際網路通訊。

問題

需要將使用者請求從 http 協議重定向至 https 協議。

解決方案

通過使用 rewrite 重寫將所有 http 請求重定向至 https:

server
server 塊級指令配置了用於監聽所有 ipv4 和 ipv6 位址的 80 埠,return 指令將請求及請求 uri 重定向至相同網域名稱的 https 伺服器並響應 301 狀態碼給客戶端。

結論

在必要的場景下將 http 請求重定向至 https 請求對系統安全來說很重要。有時,我們並不需要將將所有的使用者請求都重定向至 https 伺服器,而僅需將包含使用者敏感資料的請求重定向至 https 服務即可,比如使用者登入服務。

問題

需要告知瀏覽器不要使用 http 傳送請求

解決方案

通過設定 strict-transport-security 響應不資訊,啟用 http strict transport security 策略,告知瀏覽器不支援 http 請求:

add_header strict-transport-security max-age=

31536000

;

這裡,我們將 strict-transport-security 訊息頭有效期設定為 1 年,其作用是,當使用者發起乙個 http 請求時,瀏覽器在內部做乙個重定向,將所有請求直接通過 https 協議訪問。

結論

這是因為即使我們在伺服器內部啟用了 https 重定向功能,但瀏覽器端依然是 http

請求,這可能會被中間人攻擊,導致使用者敏感資料洩露。這時候 https 重定向功能無

法保證資料的安全性。當使用 strict-transport-security 頭時,瀏覽器將不會傳送未被加密的 http 請求,取而代之的是 https 請求,有效杜絕不安全的請求訪問。

Android基礎知識點彙總

resources.getsystem getdisplaymetrics density 可以不用 context 也能獲取螢幕密度哦 通過過載 viewgroup 的 dispatchdraw 可以實現乙個簡單的蒙版效果。例如下拉重新整理時,可以在 contentview 上加一層遮罩。canv...

基礎知識點總結3

類是對現實生活中一類具有共同屬性 類中方法外的變數 和行為 成員方法 的事物的抽象。class 物件是能夠看得到摸的著的真實存在的實體。建立物件的格式 類名 物件名 new 類名 類是對事物的一種描述,物件則為具體存在的事物 呼叫成員的格式 物件名.成員變數 物件名.成員方法 private是乙個修...

基礎知識點

1 inline block布局 2 table布局 3 justify的末行不對齊 4 兩個圖示之間有空格 換行 5 背景中的的 路徑的 全部斜槓都為 不是 命令列下的這種 doctype html html head meta charset utf 8 title xx title head ...