https代表超文字傳輸協議安全。它是用於保護兩個系統(例如瀏覽器和web伺服器)之間的通訊的協議。
下圖說明了通過http和https進行通訊的區別:
如上圖所示,http以超文字格式在瀏覽器和web伺服器之間傳輸資料,而https以加密格式傳輸資料。因此,https可防止hacker在瀏覽器和web伺服器之間傳輸期間讀取和修改資料。即使hacker設法攔截通訊,他們也無法使用它,因為訊息是加密的。
https使用安全套接字層(ssl)或傳輸層安全性(tls)協議在瀏覽器和web伺服器之間建立加密鏈結。tls是ssl的新版本。
ssl是用於在兩個系統之間建立加密鏈結的標準安全技術。這些可以是瀏覽器到伺服器,伺服器到伺服器或客戶端到伺服器。基本上,ssl確保兩個系統之間的資料傳輸保持加密和私密。
https本質上是http over ssl。ssl使用ssl證書建立加密鏈結,ssl證書也稱為數字證書。
http協議以明文方式傳送內容,不提供任何方式的資料加密。為了資料傳輸的安全,https在http的基礎上加入了ssl協議,ssl依靠證書來驗證伺服器的身份,並為瀏覽器和伺服器之間的通訊加密。
以超文字(結構化文字)格式傳輸資料
以加密格式傳輸資料
預設使用埠80
預設使用埠443
不安全使用ssl技術保護安全
以 http://開始
以 https://開始
資料完整性: https通過加密資料提供資料完整性,因此,即使hacker設法捕獲資料,他們也無法讀取或修改資料。
更快的效能: https通過加密和減小資料的大小來提高資料傳輸的速度。
seo:使用https增加seo排名。在谷歌瀏覽器中,如果使用者的資料是通過http收集的,google會在瀏覽器中顯示「 不安全」標籤。
openssl是一種功能強大的商用級全功能工具包,適用於傳輸層安全性(tls)和安全套接字層(ssl)協議。它也是乙個通用的加密庫。
檢查nginx ssl模組
nginx配置ssl需要依賴http_ssl_module模組
使用nginx -v檢視是否安裝
使用openssl生成私鑰檔案和ca自簽證書
/etc/pki/tls/openssl.cnf檔案中包含著ca的證書檔案
>> cd /etc/pki/ca
>> (umask 077; openssl genrsa 2048 > private/cakey.pem)
>> openssl req -new -x509 -key private/cakey.pem -out cacert.pem
country name (2 letter code) [xx]:cn
state or province name (full name) :bj
locality name (eg, city) [default city]:bj
organization name (eg, company) [default company ltd]:wanger
organizational unit name (eg, section) :wanger
common name (eg, your name or your server's hostname) :ca.wanger.com
email address :[email protected]
>> touch serial
>> echo 01 >serial
>> touch index.txt
建立nginx證書申請>> mkdir /etc/nginx/ssl
>> cd mkdir /etc/nginx/ssl
>> (umask 077; openssl genrsa 1024 > nginx.key)
>> openssl req -new -key nginx.key -out nginx.csr
country name (2 letter code) [xx]:cn
state or province name (full name) :bj
locality name (eg, city) [default city]:bj
organization name (eg, company) [default company ltd]:wanger
organizational unit name (eg, section) :wanger
common name (eg, your name or your server's hostname) :www.wanger.com
email address :[email protected]
>> openssl ca -in nginx.csr -out nginx.crt -days 3650
修改nginx配置檔案server
}
配置80埠重定向到httpsserver
測試並過載nginxnginx -t
nginx -s reload
Nginx配置https訪問
生成秘鑰key,執行 openssl genrsa des3 out server.key 2048會有兩次要求輸入密碼,輸入同乙個即可 輸入密碼 然後你就獲得了乙個server.key檔案.以後使用此檔案 通過openssl提供的命令或api 可能經常回要求輸入密碼,如果想去除輸入密碼的步驟可以使...
linux配置https訪問nginx
解壓nginx包 tar zxvf nginx 1.12 2.tar.gz c opt 編譯安裝nginx 1.12.2 啟動nginx伺服器 ln s usr local nginx sbin nginx usr local sbin usr local sbin nginx netstat an...
Nginx開啟https訪問
進入你想建立證書和私鑰的目錄 cd home conf 建立伺服器私鑰 openssl genrsa des3 out server.key 1024 建立簽名請求的證書 csr openssl req new key server.key out server.csr 在載入ssl支援的nginx...