HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全爲目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,所以加密的詳細內容就須要SSL。 它是一個URI scheme(抽象標識符體系),句法類同http:體系。用於安全的HTTP數據傳輸。https:URL代表它使用了HTTP,但HTTPS存在不一樣於HTTP的默認端口及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統的最初研發由網景公司進行,提供了身份驗證與加密通信方法,如今它被普遍用於萬維網上安全敏感的通信,例如交易支付方面。html
HTTPS和HTTP的區別web
1、https協議須要到ca申請證書,通常免費證書不多,須要交費。安全
2、http是超文本傳輸協議,信息是明文傳輸,https 則是具備安全性的ssl加密傳輸協議。服務器
3、http和https使用的是徹底不一樣的鏈接方式,用的端口也不同,前者是80,後者是443。網絡
4、http的鏈接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,比http協議安全。dom
1、在IIS中生成Certificate Signing Request (CSR)ide
我的理解:生成CSR就是生成「私鑰/公鑰對」以後從中提取出公鑰。網站
1. 打開IIS Manager,在根節點中選擇Server Certificates(服務器證書),點擊右側的Create Certificate Request...,而後填寫相應的Distinguished Name Properties(見下圖)。ui
Common name中填寫域名(若是用於全部二級域名,填*.域名),Organization中公司名稱,Organizational unit填寫部門名稱。加密
2. 在Cryptographic service provider中選擇Microsoft RSA SChannel Cryptographic Provider,在Bit length中選擇2048。
3. 選擇生成文件的保存路徑,完成以後,在生成的txt文件中就會看到以「-----BEGIN NEW CERTIFICATE REQUEST-----」開頭的CSR內容。這就是接下來在CA機構中生成CA證書時要用到的CSR。
2、從CA機構購買並建立CA證書
這裏以GoDaddy爲例。
1. 打開godaddy.com網站,經過菜單進入Products -> SSL&Security -> SSL Certificates,選擇Protect All Subdomains("Wildcard"), 在Pick your plan type中,選擇Standard(Validates domain ownership),而後完成購買。
2. 進入My Account -> SSL CERTIFICATES,建立證書(Certificate),建立時將以前獲得的CSR內容複製到「CSR文本框」中。
3. 接入來進入GoDaddy的審批流程,在審批過程當中須要驗證域名的全部者(dns填加記錄或上傳html文件至網站目錄),驗證成功後很快就會生成CA證書。
4. 下載CA證書文件至生成CSR的服務器上。
3、在IIS中安裝CA證書
1. 回到第一步中生成CSR的服務器上,進入IIS的Server Certificates(服務器證書),點擊Compelete Certificate Request,進入Specify Certificate Authority Response窗口填寫相應內容(見下圖)。
File name填寫第二步中從CA機構下載的證書文件路徑(.crt),Friendly name填寫第一步中建立CSR時填寫的Common name(*.域名),Certificate store選擇Web Hosting,而後點擊OK。
2. 若是用的是IIS 8.0,在建立過程當中出現「Failed to remove the certificate」的提示,不用理會。
3. 建立成功以後,會在Server Certificates中看到這個證書。
4、在IIS站點中配置https
1. 在生成CSR的同一臺服務器上配置https
1.1 選擇相應的站點,右鍵選擇Edit Bindings,點擊Add。
1.2 在Type中選擇https,在SSL certificate的下拉菜單中會看到以前安裝的CA證書(見下圖)。
1.3 選擇CA證書以後就完成了https的配置。
2. 在另外的服務器上配置https
2.1 先進入以前已經安裝CA證書的服務器,在Server Certificates中導出證書,並將證書文件(.pfx)複製到須要配置https的服務器。
2.2 進入須要配置https的服務器,在Server Certificates中導入證書,導入成功以後,按照以前的1.1-1.3的步驟配置https。
5、其餘相關配置
1. 在配置https的服務器的Windows防火牆上容許443的端口的訪問。
2. 若是須要將全部http的請求重定向至https,可在IIS的URL Rewrite Module中添加以下的規則:
web.config中對應的配置:
<rewrite> <rule name="Redirect to HTTPS" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="^OFF$" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" /> </rule> </rules> </rewrite>
參考:百度百科