SSL證書部署相對(duì)比較復(fù)雜,以下教程來源于證書機(jī)構(gòu)常見環(huán)境,僅供參考。如果對(duì)技術(shù)不熟悉,建議選購新網(wǎng)安裝服務(wù),由我司工程師幫您配置(會(huì)有費(fèi)用產(chǎn)生)。獨(dú)立主機(jī)(云主機(jī)、vps)部署辦法:1.Apache 部署SSL證書 (只能應(yīng)用一個(gè)證書, 如果多個(gè)不同站點(diǎn)都需要安裝不同的證書,請(qǐng)使用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 , 出現(xiàn)圖下結(jié)果說明apache已經(jīng)支持ssl, 否則請(qǐng)先開啟apache的ssl模塊
b. 配置證書到對(duì)應(yīng)的站點(diǎn)
編輯站點(diǎn)對(duì)應(yīng)的站點(diǎn)配置文件,如:apache安裝目錄/conf/extra/httpd-ssl.conf, 修改內(nèi)容如下
<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證書 (特別注意下面加粗內(nèi)容,需要先合并.crt、.cer文件)
a. 查看nginx是否開啟ssl
執(zhí)行命令: nginx安裝目錄/sbin/nginx -V, 查看命令結(jié)果中是否包含"--with-http_ssl_module",否則請(qǐng)先安裝ssl模塊
b. 配置證書到對(duì)應(yīng)的站點(diǎn)
編輯站點(diǎn)對(duì)應(yīng)的站點(diǎn)配置文件,新增或修改如下內(nèi)容
server {
listen 443 ssl; #將原來的80 修改為443
...
root /www/web/xxxx/public_html;
ssl_certificate 證書文件路徑/_www.domain.com.crt; #需將_www.domain.com.cer 中的內(nèi)容復(fù)制到這個(gè)文件頭部,中間不要有空行 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. 導(dǎo)入證書
打開IIS服務(wù)管理器,點(diǎn)擊計(jì)算機(jī)名稱,雙擊‘服務(wù)器證書
雙擊打開服務(wù)器證書后,點(diǎn)擊右則的導(dǎo)入
選擇證書文件,點(diǎn)擊確定
b. 站點(diǎn)開啟ssl
選擇證書文件,點(diǎn)擊確定
點(diǎn)擊網(wǎng)站下的站點(diǎn)名稱,點(diǎn)擊右則的綁定
打開網(wǎng)站綁定界面后,點(diǎn)擊添加
添加網(wǎng)站綁定內(nèi)容:選擇類型為https,端口443和指定對(duì)應(yīng)的SSL證書,點(diǎn)擊確定
添加完成后,網(wǎng)站綁定界面將會(huì)看到剛剛添加的內(nèi)容
4.Tomcat 證書部署 a. 配置SSL連接器
將www.domain.com.jks文件存放到conf目錄下,然后配置同目錄下的server.xml文件, 新增如下內(nèi)容
<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如果設(shè)為true,表示Tomcat要求所有的SSL客戶出示安全證書,對(duì)SSL客戶進(jìn)行身份驗(yàn)證
keystoreFile指定keystore文件的存放位置,可以指定絕對(duì)路徑,也可以指定相對(duì)于 (Tomcat安裝目錄)環(huán)境變量的相對(duì)路徑。如果此項(xiàng)沒有設(shè)定,默認(rèn)情況下,Tomcat將從當(dāng)前操作系統(tǒng)用戶的用戶目錄下讀取名為 “.keystore”的文件。
keystorePass密鑰庫密碼,指定keystore的密碼。(如果申請(qǐng)證書時(shí)有填寫私鑰密碼,密鑰庫密碼即私鑰密碼)
sslProtocol指定套接字(Socket)使用的加密/解密協(xié)議,默認(rèn)值為TLS
b. http自動(dòng)跳轉(zhuǎn)https的安全配置
到conf目錄下的web.xml。在</welcome-file-list>后面,</web-app>,也就是倒數(shù)第二段里,加上這樣一段
<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跳轉(zhuǎn)到ssl的connector去。所以還需要前往server.xml進(jìn)行配置:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
redirectPort改成ssl的connector的端口443,重啟后便會(huì)生效。