SSL證書部署相對比較復雜,以下教程來源于證書機構常見環(huán)境,僅供參考。如果對技術不熟悉,建議選購新網安裝服務,由我司工程師幫您配置(會有費用產生)。獨立主機(云主機、vps)部署辦法:1.Apache 部署SSL證書 (只能應用一個證書, 如果多個不同站點都需要安裝不同的證書,請使用nginx)
a. 查看apache是否開啟ssl (
特別注意要在apache配置文件中添加Listen 443否則沒有443端口監(jiān)聽)
打開 apache安裝目錄/conf/httpd.conf 文件,找到 里面兩行
#LoadModule ssl_module modules/mod_ssl.so
將行首的#去掉,保存文件
執(zhí)行命令: apache安裝目錄/bin/httpd -M | grep ssl_module , 出現圖下結果說明apache已經支持ssl, 否則請先開啟apache的ssl模塊
b. 配置證書到對應的站點
編輯站點對應的站點配置文件,如:apache安裝目錄/conf/extra/httpd-ssl.conf, 修改內容如下
<VirtualHost www.domain.com:443>
DocumentRoot "/var/www/html"
ServerName www.domain.com
SSLEngine on
SSLCertificateFile 證書文件路徑/_www.domain.com.cer
SSLCertificateKeyFile 證書文件路徑/_www.domain.com.key
SSLCertificateChainFile 證書文件路徑/_www.domain.com_ca.crt
</VirtualHost>
c. 重啟apache生效
2.Nginx 部署SSL證書 (特別注意下面加粗內容,需要先合并.crt、.cer文件)
a. 查看nginx是否開啟ssl
執(zhí)行命令: nginx安裝目錄/sbin/nginx -V, 查看命令結果中是否包含"--with-http_ssl_module",否則請先安裝ssl模塊
b. 配置證書到對應的站點
編輯站點對應的站點配置文件,新增或修改如下內容
server {
listen 443 ssl; #將原來的80 修改為443
...
root /www/web/xxxx/public_html;
ssl_certificate 證書文件路徑/_www.domain.com.crt; #需將_www.domain.com.cer 中的內容復制到這個文件頭部,中間不要有空行 ssl_certificate_key 證書文件路徑/_www.domain.com.key; #證書密鑰文件
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!LOW:!aNULL:!eNULL;
...
}
3.IIS 部署SSL證書
a. 導入證書
打開IIS服務管理器,點擊計算機名稱,雙擊‘服務器證書
雙擊打開服務器證書后,點擊右則的導入
選擇證書文件,點擊確定
b. 站點開啟ssl
選擇證書文件,點擊確定
點擊網站下的站點名稱,點擊右則的綁定
打開網站綁定界面后,點擊添加
添加網站綁定內容:選擇類型為https,端口443和指定對應的SSL證書,點擊確定
添加完成后,網站綁定界面將會看到剛剛添加的內容
4.Tomcat 證書部署 a. 配置SSL連接器
將www.domain.com.jks文件存放到conf目錄下,然后配置同目錄下的server.xml文件, 新增如下內容
<Connector
port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
keystoreFile="conf\www.domain.com.jks"
keystorePass="changeit"
clientAuth="false" sslProtocol="TLS"
/>
說明
clientAuth如果設為true,表示Tomcat要求所有的SSL客戶出示安全證書,對SSL客戶進行身份驗證
keystoreFile指定keystore文件的存放位置,可以指定絕對路徑,也可以指定相對于 (Tomcat安裝目錄)環(huán)境變量的相對路徑。如果此項沒有設定,默認情況下,Tomcat將從當前操作系統(tǒng)用戶的用戶目錄下讀取名為 “.keystore”的文件。
keystorePass密鑰庫密碼,指定keystore的密碼。(如果申請證書時有填寫私鑰密碼,密鑰庫密碼即私鑰密碼)
sslProtocol指定套接字(Socket)使用的加密/解密協議,默認值為TLS
b. http自動跳轉https的安全配置
到conf目錄下的web.xml。在</welcome-file-list>后面,</web-app>,也就是倒數第二段里,加上這樣一段
<web-resource-collection > <web-resource-name >SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint>
這步目的是讓非ssl的connector跳轉到ssl的connector去。所以還需要前往server.xml進行配置:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
redirectPort改成ssl的connector的端口443,重啟后便會生效。