SSL證書-電腦訪問正常,手機(jī)瀏覽器提示證書鏈問題
問題:我的證書安裝好了,電腦訪問正常,手機(jī)瀏覽器訪問提示證書鏈問題
“當(dāng)前網(wǎng)站證書不可信且證書鏈長度為1,可能是服務(wù)器沒有配置完整證書鏈,是否信任并繼續(xù)訪問?”
問題原因
部分使用香港云服務(wù)器的apache搭建網(wǎng)站的用戶,網(wǎng)站提示缺少證書鏈,部分用戶沒有安裝.ca部分,導(dǎo)致電腦瀏覽器訪問正常,手機(jī)瀏覽器訪問報錯。
解決辦法
辦法1:安裝證ca書鏈即可(下面有安裝教程)
辦法2:合并ca和crt的內(nèi)容(這里不再做示例)
將ca-bundle.crt文件內(nèi)容,復(fù)制到y(tǒng)ourdomin.com.crt文件內(nèi)容的后面,并保存,重新安裝即可。
注意:該方法不保證所有環(huán)境都有效。部分使用apache版的香港空間用戶也適用。
下面是apache安裝完整證書的示例
1.下載SSL證書
在我們網(wǎng)站下載證書
yourdomain.com.crt (服務(wù)器證書) yourdomain.com.key (私鑰文件)如果為空請將生成CSR時保存的私鑰內(nèi)容粘貼在文件中 ca-bundle.crt (根證書鏈)
2.查找Apache配置文件并編輯
由于不同服務(wù)器配置文件路徑不同,請聯(lián)系服務(wù)器管理員協(xié)助安裝.
Apache的主配置文件通常命名為httpd.conf或apache2.conf . 如果使用yum/apt-get安裝,該文件通常放在 /etc/httpd | /etc/apache2 下面
3.配置SSL(HTTPS)站點(diǎn)
#如果配置已經(jīng)存在就不要加 Listen 443 #如果配置已經(jīng)存在就不要加 LoadModule ssl_module modules/mod_ssl.so #非必須,配置多個SSL站點(diǎn)會需要 NameVirtualHost *:443 <VirtualHost *:443> ServerName www.getssl.cn ServerAlias getssl.cn DocumentRoot /var/www/html SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCertificateFile /etc/ssl/yourdomain.com.crt SSLCertificateKeyFile /etc/ssl/yourdomain.com.key SSLCertificateChainFile /etc/ssl/yourdomain.com.ca-bundle </VirtualHost>
Apache參數(shù)對應(yīng)你的證書名稱:
- SSLCertificateFile 服務(wù)器證書 (例如. yourdomain.com.crt)
- SSLCertificateKeyFile 證書的私鑰文件,生成CSR時產(chǎn)生 (例如. yourdomain.com.key)
- SSLCertificateChainFile 簽發(fā)機(jī)構(gòu)的中級證書和根證書,從我們公司購買的證書會提供這個文件 (如. ca-bundle.crt)
4.測試配置文件是否正確
apachectl configtest
5.重啟Apache使其生效
apachectl restart
常見問題
1. 提示 SSLEngine 參數(shù)不正確?
請檢查apache是否支持mod_ssl.so模塊 , 檢測方法 httpd -M | grep ssl
有顯示ssl_module表示ssl模塊已加載
2. mod_ssl.so沒有安裝
CentOS 使用yum安裝的apache可以使用yum安裝 yum install mod_ssl
Ubuntu 使用apt-get安裝的apache通常未啟用SSL模塊,執(zhí)行此命令開啟 sudo a2enmod ssl
3. 網(wǎng)站使用CDN
證書需要安裝在CDN上面,需要服務(wù)商支持SSL才可以,詳情請咨詢所用CDN的服務(wù)商