問題
客戶端與 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 ...