HTTPS:互聯網安全通信的關鍵
核心要點:
什麼是 HTTPS?
超文本傳輸協議安全 (HTTPS) 或通過 SSL 的超文本傳輸協議用於通過網絡或更重要的是通過互聯網進行安全通信。當您訪問使用 HTTPS 的頁面時,您會在 URI 中看到 https:// 和瀏覽器中的鎖圖標。
如果您曾經想過是否以及如何讓您的網站使用 HTTPS,我們將嘗試通過簡要描述 HTTPS 的內容以及為什麼以及如何實施它來闡明這一點。
為什麼要使用 HTTPS?
考慮開發一個電子商務網站,該網站需要您的用戶輸入敏感信息(例如信用卡詳細信息)才能進行在線交易。如果信息按原樣通過互聯網傳輸並被某人攔截,則很容易被理解和濫用。這就是 HTTPS 的作用所在——如果您需要防止此類威脅,則需要使用 HTTPS。
HTTPS 向您承諾兩件事;首先,通過應用一種加密機制,敏感數據會被加密成亂碼,只有您的服務器(證書所有者)才能解密。現在,如果此信息通過中間人攻擊被攔截,它將毫無意義。其次,HTTPS 驗證網站確實是它聲稱的網站。在您的情況下,它會在發送用戶的加密信用卡詳細信息之前驗證您的網站,因此沒有人可以模仿您。
因此,使用 HTTPS 可以驗證您的網站並保護通過互聯網通信的敏感信息。這在證書和加密的幫助下成為可能。
要使用 HTTPS,您需要一個證書。它是一個數字文檔,您的網站提交該文檔以向用戶(Web 瀏覽器)聲明您的身份。證書由稱為證書頒發機構 (CA) 的公司頒發,這些公司將在證書中加密您的 Web 相關信息(例如您的域名、服務器平台和身份信息,例如公司名稱地址、電話號碼等)。您可能想知道瀏覽器如何信任證書。所有瀏覽器都預裝了一組信息,使他們知道受信任的證書頒發機構。當您使用 HTTPS 時,您的服務器中將有您的證書,該證書將發送給您的用戶,其瀏覽器將驗證您。
我們知道 HTTPS 在通過互聯網發送數據之前會對其進行加密,並且服務器會對其進行解密。在加密-解密方案中,涉及一對密鑰。一個是公開的,另一個是私有的。當您的網站希望您的用戶發送信息時,您的服務器會指示用戶的瀏覽器使用密鑰(公開)加密要發送的數據。收到加密的消息後,服務器將使用其私鑰解密並理解數據。在 HTTPS 中,任何使用公鑰加密的純文本只能由私鑰持有者解密。
如何使用 HTTPS?
要使用 HTTPS,您需要在服務器中安裝證書。證書可以是自簽名的,也可以是第三方簽名的。自簽名證書是由自身簽名的證書,不受瀏覽器信任。當用戶訪問來自具有自簽名證書的服務器的安全網頁時,他們會看到警告。但是,如果您想在無需任何成本的情況下通過安全連接測試您的應用程序,或者如果您想要 Intranet 中的安全連接,它將很有用。另一方面,第三方簽名的證書已通過驗證並由瀏覽器信任的 CA 頒發。這將每年花費您一定的費用,價格從 10 美元到幾百美元不等,具體取決於證書提供的某些功能。
要獲得證書,您需要私鑰和證書籤名請求 (CSR)。這些是在您託管網站的服務器中生成的。在上一節的“加密”部分中,我們看到了私鑰的作用。 CSR 只需提交一個請求即可獲得證書。當您生成 CSR 時,您將輸入您的身份信息,例如公司名稱、位置等。
假設您獲得的證書是由某個瀏覽器或瀏覽器版本不信任的 CA 簽名的。這種情況很少發生,但是如果發生這種情況,您的用戶會看到“連接不受信任”的消息。為防止這種情況,您的 CA 將提供另一個稱為鏈證書的證書。它擁有一系列受信任的 CA,它們可以驗證您的 CA 和提供的證書。
安裝自簽名證書
SSLShopper 網站上的一篇文章解釋瞭如何在您的 Apache 服務器中安裝自簽名證書。它還更多地討論了自簽名證書。如果您想要 IIS 7 中的證書,請查看此處。
如果您的網站位於共享主機上,您可以使用前端功能進行安裝。 C Panel 文檔探討瞭如何使用 C Panel 和 WHM 執行此操作。大多數情況下,託管提供商會要求您提出安裝證書的請求,無論其類型如何。
安裝由 CA 簽名的證書
您也可以從 Verisign 等 CA 處購買證書,並在您部署網站以供商業使用時將其安裝在您的服務器中。此 SSL 安裝指南將幫助您使用任何服務器。 CA 還可能通過電子郵件向您發送安裝說明或對其支持頁面的引用以及證書。
如果您的網站位於共享主機上,您可以查看 C Panel 文檔並獲得託管提供商的幫助。
我還想向您展示 BlueHost 如何在其主機中獲取自簽名證書和 CA 簽名的證書。
安裝 HTTPS 後該怎麼做?
準備好 HTTPS 後,您需要對您的網站和服務器進行某些修改才能使其工作,此過程簡單明了。
需要安全通信的頁面必須在網站的開頭讀取https:// 而不是https://www.php.cn/link/8c9b0580ebd12c014a772c9cec371011 https://www.php .cn/link/53885282fbff8407b3b6e820b7830180 安全加載;您需要將網站上指向該頁面的所有鏈接更改為https://www.php.cn/link/c1f901ce2fdfc413658ecf4326d42b57。
除此之外,您還需要添加服務器設置以自動重定向嘗試通過不安全 URI 訪問安全頁面的用戶。例如,嘗試使用 http:// 訪問上述頁面 (checkout.php) 的用戶應被路由到 https://www.php.cn/link/8e3e59214cfae2e1afa470119559e683 Apache 上執行此操作。
為此,您將以下代碼添加到 .htaccess 文件中:
<code>RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}</code>
但這會將所有網頁重定向到 https://www.php.cn/link/6c2de35b691097827da9fdaadc060d69:
<code>RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^/?securepage/(.*) https://%{SERVER_NAME}/secureFolder/ [R,L]</code>
此規則如果使用 http:// 訪問此文件夾中的文件,則會使用 https:// 重定向它們。當然,這是一個預防措施,即使用戶通常不會手動更改協議,除非他們的意圖不光彩。
我們還需要做一件事。您的安全頁面上可能存在不安全加載的資源(圖像、css 文件等)。要解決此問題,只需將這些文件的 http:// 替換為 //,例如:
<code>link rel="stylesheet" href="http://mysite.com/css/style.css"</code>
應讀取為:
<code>link rel="stylesheet" href="//mysite.com/css/style.css"</code>
完成了!作為最佳實踐,請使用不同的瀏覽器訪問您的安全頁面,並確保所有頁面都正常。您可能會在瀏覽器中看到鎖圖標。您也可以單擊它以獲取更多信息。
結論
在本文中,我們介紹了什麼是 HTTPS、為什麼要使用 HTTPS 以及如何實施它。我們還介紹了一些底層技術方面,以了解 HTTPS 的工作原理。希望這有助於您清楚地了解 HTTPS 的內容以及如何使用它。歡迎您提供反饋!
HTTPS 常見問題解答 (FAQ)
HTTP 代表超文本傳輸協議,它是用於通過互聯網傳輸數據的協議。另一方面,HTTPS 代表超文本傳輸協議安全。兩者之間的主要區別在於,HTTPS 使用 SSL (Secure Sockets Layer) 證書在服務器和客戶端之間建立安全加密連接,而 HTTP 則不是這種情況。這意味著 HTTPS 在傳輸敏感數據(例如信用卡信息或個人詳細信息)時要安全得多,因為它降低了數據被黑客攔截的風險。
HTTPS 通過使用 SSL 證書在服務器(網站)和客戶端(用戶的計算機)之間創建安全加密連接來工作。當用戶連接到 HTTPS 網站時,網站會將其 SSL 證書發送到用戶的瀏覽器。然後,瀏覽器驗證證書,如果證書有效,它會向服務器發送消息。然後,服務器發送回數字簽名的確認以啟動 SSL 加密會話。此加密會話確保在服務器和客戶端之間傳輸的所有數據都是安全和私密的。
HTTPS 對 SEO 很重要,原因如下:首先,Google 已確認 HTTPS 是一個排名信號,這意味著使用 HTTPS 的網站在搜索結果中的排名可能高於使用 HTTP 的網站。其次,HTTPS 會增強用戶信任度,因為它表明該網站是安全的並且重視用戶隱私。這可以導致用戶參與度提高和跳出率降低,這也會對 SEO 產生積極影響。
從 HTTP 切換到 HTTPS 包括幾個步驟。首先,您需要從證書頒發機構購買 SSL 證書。獲得證書後,您需要將其安裝在您的服務器上。然後,您需要更新您的網站以使用 HTTPS 而不是 HTTP。這可能包括更新內部鏈接、更新任何代碼庫以及更新任何第三方服務以使用 HTTPS。最後,您需要設置 HTTP 到 HTTPS 的重定向,以便嘗試訪問網站 HTTP 版本的用戶會自動重定向到 HTTPS 版本。
有一種普遍的誤解認為,由於 SSL 握手過程中的額外步驟,HTTPS 會減慢網站速度。但是,使用現代服務器和優化的配置,對速度的影響最小,並且用戶通常不會注意到。事實上,當與 HTTP/2(HTTP 協議的一個主要修訂版,它提供了顯著的性能改進)一起使用時,HTTPS 實際上可以提高網站速度。
雖然從技術上講並非所有網站都需要 HTTPS,但強烈建議使用 HTTPS。即使網站不處理敏感數據,使用 HTTPS 仍然可以提供好處,例如改進的 SEO、增強的用戶信任度以及對某些類型的攻擊的保護。此外,許多現代 Web 功能(例如地理位置和服務工作者)僅在 HTTPS 上可用。
瀏覽器地址欄中的掛鎖符號表示您訪問的網站正在使用 HTTPS,並且連接是安全的。這意味著您發送到網站的任何數據(例如登錄詳細信息或信用卡信息)都已加密,黑客無法攔截。
SSL 證書是一個數字證書,用於驗證網站的身份並啟用加密連接。它包含有關網站所有者、網站的公鑰以及頒發證書的證書頒發機構的數字簽名的信息。當用戶使用 HTTPS 連接到網站時,網站的 SSL 證書會發送到用戶的瀏覽器。然後,瀏覽器驗證證書,如果證書有效,它將使用網站的公鑰加密發送到網站的數據。
雖然 HTTPS 比 HTTP 安全得多,但它並非完全不受黑客攻擊。例如,如果黑客能夠破壞網站的 SSL 證書,他們可能會攔截和解密數據。但是,此類攻擊非常難以執行,並且對大多數網站來說都不是問題。最重要的是確保您的 SSL 證書已正確配置並保持最新。
HTTP/2 是 HTTP 協議的一個主要修訂版,它提供了顯著的性能改進。它允許通過單個連接多路復用多個請求和響應,從而減少需要傳輸的數據量。 HTTP/2 還支持服務器推送,服務器可以在請求資源之前將資源發送給客戶端。雖然 HTTP/2 不需要 HTTPS,但所有主要瀏覽器都只支持通過 HTTPS 連接的 HTTP/2。這意味著為了利用 HTTP/2 的性能優勢,網站必須使用 HTTPS。
以上是HTTPS基礎知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!