HTTPS配置指導書html
版本:v1.0java
做者:白樹潮nginx
SSL的證書類型?git
DV (Domain Validation): 面向個體用戶,安全體系相對較弱,驗證方式就是向 whois 信息中的郵箱發送郵件,按照郵件內容進行驗證便可經過.github
OV (Organization Validation): 面向企業用戶,證書在DV證書驗證的基礎上,還須要公司的受權,CA經過撥打信息庫中公司的電話來確認.chrome
EV (Extended Validation): 在瀏覽器URL地址欄當中,展現了註冊公司的信息,這會讓用戶產生更大的信任,這類證書的申請除了以上兩個確認外,還須要公司提供金融機構的開戶許可證,要求十分嚴格.apache
官方說明:不管是 DV、OV 仍是 EV 證書,其加密效果都是同樣的vim
重要的區別:1. DV證書的審覈速度較快, 由程序完成審覈, 通常申請了以後立刻就可以完成證書頒發; OV和EV證書審覈較慢, 由人工審覈, 通常須要數天的時間. 2. EV證書會在瀏覽器當中顯示公司的信息, 一般被稱爲綠色地址欄, 以增長用戶的信任感. 參考以下訪問github時, chrome瀏覽器的顯示方式:windows
3. EV證書**不支持單個泛域名(*.example.com)或者多個泛域名(*.example1.com, .example2.com)*, OV和DV證書則支持.瀏覽器
配置:在阿里雲控制檯打開證書服務
安裝證書:nginx
說明:
1. 證書文件214221071940658.pem,包含兩段內容,請不要刪除任何一段內容。
2. 若是是證書系統創建的CSR,還包含:證書私鑰文件214221071940658.key。
( 1 ) 在Nginx的安裝目錄下創建cert目錄,而且將下載的所有文件拷貝到cert目錄中。若是申請證書時是本身創建的CSR文件,請將對應的私鑰文件放到cert目錄下而且命名爲214221071940658.key;
( 2 ) 打開 Nginx 安裝目錄下 conf 目錄中的 nginx.conf 文件,找到:
# HTTPS server
# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
#
#
#}
#}
( 3 ) 將其修改爲 (如下屬性中ssl開頭的屬性與證書配置有直接關係,其它屬性請結合本身的實際狀況複製或調整) :
server {
listen 443;
server_name localhost;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/214221071940658.pem;
ssl_certificate_key cert/214221071940658.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
( 4 )重啓 Nginx。
( 5 ) 通過 https 方式訪問您的站點,測試站點證書的安裝配置。如
安裝證書:apache
說明:
1. 證書文件214221071940658.pem,包含兩段內容,請不要刪除任何一段內容。
2. 若是是證書系統創建的CSR,還包含:證書私鑰文件214221071940658.key、證書公鑰文件public.pem、證書鏈文件chain.pem。
( 1 ) 在Apache的安裝目錄下創建cert目錄,而且將下載的所有文件拷貝到cert目錄中。若是申請證書時是本身創建的CSR文件,請將對應的私鑰文件放到cert目錄下而且命名爲214221071940658.key;
( 2 ) 打開 apache 安裝目錄下 conf 目錄中的 httpd.conf 文件,找到如下內容並去掉「#」:
#LoadModule ssl_module modules/mod_ssl.so (若是找不到請確認是否編譯過 openssl 插件)
#Include conf/extra/httpd-ssl.conf
( 3 ) 打開 apache 安裝目錄下 conf/extra/httpd-ssl.conf 文件 (也多是conf.d/ssl.conf,與操做系統及安裝方式有關), 在配置文件中查找如下配置語句:
# 添加 SSL 協議支持協議,去掉不安全的協議
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件以下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 證書公鑰配置
SSLCertificateFile cert/public.pem
# 證書私鑰配置
SSLCertificateKeyFile cert/214221071940658.key
# 證書鏈配置,若是該屬性開頭有 '#'字符,請刪除掉
SSLCertificateChainFile cert/chain.pem
( 4 ) 重啓 Apache。
( 5 ) 通過 https 方式訪問您的站點,測試站點證書的安裝配置
安裝證書:tomcat
Tomcat支持JKS格式證書,從Tomcat7開始也支持PFX格式證書,兩種證書格式任選其一。
說明:
1. 證書文件214221071940658.pem,包含兩段內容,請不要刪除任何一段內容。
2. 若是是證書系統創建的CSR,還包含:證書私鑰文件214221071940658.key、PFX格式證書文件214221071940658.pfx、PFX格式證書密碼文件pfx-password.txt。
1、證書格式轉換
在Tomcat的安裝目錄下創建cert目錄,而且將下載的所有文件拷貝到cert目錄中。若是申請證書時是本身創建的CSR文件,附件中只包含214221071940658.pem文件,還須要將私鑰文件拷貝到cert目錄,命名爲214221071940658.key;若是是系統創建的CSR,請直接到第2步。
到cert目錄下執行以下命令完成PFX格式轉換命令,此處要設置PFX證書密碼,請牢記:
openssl pkcs12 -export -out 214221071940658.pfx -inkey 214221071940658.key -in 214221071940658.pem
2、PFX證書安裝
找到安裝Tomcat目錄下該文件server.xml,通常默認路徑都是在 conf 文件夾中。找到 <Connection port="8443" 標籤,增長以下屬性:
keystoreFile="cert/214221071940658.pfx"
keystoreType="PKCS12"
#此處的證書密碼,請參考附件中的密碼文件或在第1步中設置的密碼
keystorePass="證書密碼"
完整的配置以下,其中port屬性根據實際狀況修改:
<Connector port="8443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/214221071940658.pfx"
keystoreType="PKCS12"
keystorePass="證書密碼"
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
3、JKS證書安裝(幫助)
( 1 ) 使用java jdk將PFX格式證書轉換爲JKS格式證書(windows環境注意在%JAVA_HOME%/jdk/bin目錄下執行)
keytool -importkeystore -srckeystore 214221071940658.pfx -destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS
回車後輸入JKS證書密碼和PFX證書密碼,強烈推薦將JKS密碼與PFX證書密碼相同,不然可能會致使Tomcat啓動失敗。
( 2 ) 找到安裝 Tomcat 目錄下該文件Server.xml,通常默認路徑都是在 conf 文件夾中。找到 <Connection port="8443" 標籤,增長以下屬性:
keystoreFile="cert/your-name.jks"
keystorePass="證書密碼"
完整的配置以下,其中port屬性根據實際狀況修改:
<Connector port="8443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/your-name.jks"
keystorePass="證書密碼"
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
( 注意:不要直接拷貝全部配置,只需添加 keystoreFile,keystorePass等參數便可,其它參數請根據本身的實際狀況修改 )
4、 重啓 Tomcat。
5、 通過 https 方式訪問您的站點,測試站點證書的安裝配置
安裝證書:IIS6
IIS 6 支持PFX格式證書,下載包中包含PFX格式證書和密碼文件。以沃通證書爲例:
說明:
1. 證書文件214221071940658.pem,包含兩段內容,請不要刪除任何一段內容。
2. 若是是證書系統創建的CSR,還包含:證書私鑰文件214221071940658.key、PFX格式證書文件214221071940658.pfx、PFX格式證書密碼文件pfx-password.txt。
( 1 ) 證書導入
開始 -〉運行 -〉MMC;
啓動控制檯程序,選擇菜單「文件"中的"添加/刪除管理單元」-> 「添加」,從「可用的獨立管理單元」列表中選擇「證書」-> 選擇「計算機賬戶」;
在控制檯的左側顯示證書樹形列表,選擇「我的」->「證書」,右鍵單擊,選擇「全部任務"-〉"導入」, 根據"證書導入嚮導」的提示,導入PFX文件 (此過程當中有一步很是重要: 「根據證書內容自動選擇存儲區」)。
安裝過程當中須要輸入密碼爲您當時設置的密碼。導入成功後,能夠看到如圖所示的證書信息。
( 2 ) 分配服務器證書,如圖所示流程。
安裝證書:IIS7/8
IIS 7/8 支持PFX格式證書,下載包中包含PFX格式證書和密碼文件。以沃通證書爲例:
說明:
1. 證書文件214221071940658.pem,包含兩段內容,請不要刪除任何一段內容。
2. 若是是證書系統建立的CSR,還包含:證書私鑰文件214221071940658.key、PFX格式證書文件214221071940658.pfx、PFX格式證書密碼文件pfx-password.txt。
( 1 ) 證書導入
開始 -〉運行 -〉MMC;
啓動控制檯程序,選擇菜單「文件"中的"添加/刪除管理單元」-> 「添加」,從「可用的獨立管理單元」列表中選擇「證書」-> 選擇「計算機賬戶」;
在控制檯的左側顯示證書樹形列表,選擇「我的」->「證書」,右鍵單擊,選擇「全部任務"-〉"導入」, 根據"證書導入嚮導」的提示,導入PFX文件 (此過程當中有一步很是重要: 「根據證書內容自動選擇存儲區」)。安裝過程當中須要輸入密碼爲您當時設置的密碼。導入成功後,能夠看到如圖所示的證書信息。
( 2 ) 分配服務器證書
打開 IIS8.0 管理器面板,找到待部署證書的站點,點擊「綁定」,如圖。
設置參數
選擇「綁定」->「添加」->「類型選擇 https」 ->「端口 443」 ->「ssl 證書【導入的證書名稱】」 ->「肯定」,SSL 缺省端口爲 443 端口(請不要隨便修改。 若是您使用其餘端口如:8443, 則訪問時必須輸入:https://www.domain.com:8443)。如圖
http強制跳轉https方法
當服務器配置好之後,當訪問www.98root.cn的時候則默認協議爲http,則訪問不到https,須要作一個跳轉;
添加一個虛擬主機配置專門作跳轉:
[root@xcn ~]# vim /application/nginx/conf/conf.d/403.conf
server {
listen 80;
server_name www.98root.cn;
rewrite ^(.*)$ https://$host$1 permanent;
location / {
root html;
index index.html index.htm;
}}
重啓nginx便可
測試:
輸入:
刷新