Apache服務(wù)器上如何安裝SSL證書?
前提條件
您的Apache服務(wù)器上已經(jīng)開啟了443端口(HTTPS服務(wù)的默認(rèn)端口)。
您的Apache服務(wù)器上已安裝了mod_ssl.so模塊(啟用SSL功能)。
本文檔證書名稱以domain name為示例,例如:證書文件名稱為domain name_public.crt,證書鏈文件名稱為domain name_chain.crt,證書密鑰文件名稱為domain name.key。
申請(qǐng)證書時(shí)如果未選擇系統(tǒng)自動(dòng)創(chuàng)建CSR,證書下載壓縮包中將不包含.key文件。
說明 .crt擴(kuò)展名的證書文件采用Base64-encoded的PEM格式文本文件,可根據(jù)需要修改成.pem等擴(kuò)展名。 證書格式詳細(xì)內(nèi)容,請(qǐng)參見主流數(shù)字證書都有哪些格式?
操作步驟
解壓已下載保存到本地的Apache證書文件。
解壓后的文件夾中有3個(gè)文件:證書文件
證書文件:以.crt為后綴或文件類型。
證書鏈文件:以.crt為后綴或文件類型。
密鑰文件:以.key為后綴或文件類型。
在Apache安裝目錄中新建cert目錄,并將解壓的Apache證書、證書鏈文件和密鑰文件拷貝到cert目錄中。如果需要安裝多個(gè)證書,需在Apache目錄中新建對(duì)應(yīng)數(shù)量的cert目錄,用于存放不同的證書 。
說明 如果申請(qǐng)證書時(shí)選擇了手動(dòng)創(chuàng)建CSR文件,請(qǐng)將手動(dòng)生成創(chuàng)建的密鑰文件拷貝到cert目錄中并命名為domain name.key。
修改httpd.conf配置文件。
在Apache安裝目錄下,打開Apache/conf/httpd.conf文件,并找到以下參數(shù),按照下文中注釋內(nèi)容進(jìn)行配置。
#LoadModule ssl_module modules/mod_ssl.so #刪除行首的配置語句注釋符號(hào)“#”加載mod_ssl.so模塊啟用SSL服務(wù),Apache默認(rèn)是不啟用該模塊的。
#Include conf/extra/httpd-ssl.conf #刪除行首的配置語句注釋符號(hào)“#”。
說明 如果您在httpd.conf文件中沒有找到以上配置語句,請(qǐng)確認(rèn)您的Apache服務(wù)器中是否已經(jīng)安裝mod_ssl.so模塊??蓤?zhí)行yum install -y mod_ssl命令安裝mod_ssl模塊。
保存httpd.conf文件并退出。
修改httpd-ssl.conf配置文件。
打開Apache/conf/extra/httpd-ssl.conf文件并找到以下參數(shù),按照下文中注釋內(nèi)容進(jìn)行配置。
說明 根據(jù)操作系統(tǒng)的不同,http-ssl.conf文件也可能存放在conf.d/ssl.conf目錄中。
<VirtualHost *:443>
ServerName #修改為申請(qǐng)證書時(shí)綁定的域名www.YourDomainName1.com。
DocumentRoot /data/www/hbappserver/public
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 # 添加SSL協(xié)議支持協(xié)議,去掉不安全的協(xié)議。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain name1_public.crt # 將domain name1_public.crt替換成您證書文件名。
SSLCertificateKeyFile cert/domain name1.key # 將domain name1.key替換成您證書的密鑰文件名。
SSLCertificateChainFile cert/domain name1_chain.crt # 將domain name1_chain.crt替換成您證書的密鑰文件名;證書鏈開頭如果有#字符,請(qǐng)刪除。
</VirtualHost>
#如果證書包含多個(gè)域名,復(fù)制以上參數(shù),并將ServerName替換成第二個(gè)域名。
<VirtualHost *:443>
ServerName #修改為申請(qǐng)證書時(shí)綁定的第二個(gè)域名www.YourDomainName2.com。
DocumentRoot /data/www/hbappserver/public
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 # 添加SSL協(xié)議支持協(xié)議,去掉不安全的協(xié)議。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain name2_public.crt # 將domain name2替換成您申請(qǐng)證書時(shí)的第二個(gè)域名。
SSLCertificateKeyFile cert/domain name2.key # 將domain name2替換成您申請(qǐng)證書時(shí)的第二個(gè)域名。
SSLCertificateChainFile cert/domain name2_chain.crt # 將domain name2替換成您申請(qǐng)證書時(shí)的第二個(gè)域名;證書鏈開頭如果有#字符,請(qǐng)刪除。
</VirtualHost>
說明 需注意您的瀏覽器版本是否支持SNI功能。如果不支持,多域名證書配置將無法生效。
保存httpd-ssl.conf文件并退出。
重啟Apache服務(wù)器使SSL配置生效。
在Apache的bin目錄下執(zhí)行以下命令:
停止Apache服務(wù)。
apachectl -k stop
開啟Apache服務(wù)。
apachectl -k start
可選:修改httpd.conf文件,設(shè)置HTTP請(qǐng)求自動(dòng)跳轉(zhuǎn)HTTPS。
在httpd.conf文件中的<VirtualHost *:80> </VirtualHost>中間,添加以下重定向代碼。
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
后續(xù)操作
證書安裝完成后,您可通過登錄證書的綁定域名驗(yàn)證該證書是否安裝成功。
https://domain name #domain name替換成證書綁定的域名。
如果網(wǎng)頁地址欄出現(xiàn)小鎖標(biāo)志,表示證書安裝成功。
DV SSL、OV SSL數(shù)字證書部署在服務(wù)器上后,您的瀏覽器訪問網(wǎng)站時(shí),展示以下效果:DV/OV證書安裝效果圖
證書安裝完成后,如果網(wǎng)站無法通過https正常訪問,需確認(rèn)您安裝證書的服務(wù)器443端口是否已開啟或被其他工具攔截。如果您使用的是阿里云ECS服務(wù)器,請(qǐng)前往ECS控制臺(tái)安全組頁面配置放行443端口。
本文鏈接:http://m.jmtianhui.com/news/details-12-623.html
版權(quán)聲明:
1:本站所有內(nèi)容均由互聯(lián)網(wǎng)收集整理、上傳,并且以計(jì)算機(jī)技術(shù)研究交流為目的,僅供大家參考、學(xué)習(xí),不存在任何商業(yè)目的與商業(yè)用途,如描述有誤或者學(xué)術(shù)不對(duì)之處歡迎及時(shí)提出,不甚感謝。
2、 如涉及版權(quán)問題,請(qǐng)聯(lián)系我們4724325@qq.com第一時(shí)間處理;
我們從以下三個(gè)方面,對(duì)比純靜態(tài)和偽靜態(tài)兩種靜態(tài)頁面生成方式,逐一展開分析。
用JS的正則表達(dá)式如何判斷輸入框內(nèi)為中文或者是英文數(shù)字,或者是三者混編
css制作扇形
純CSS3文字Loading動(dòng)畫特效
PhpStorm 2022.1 EAP 3 在 PHPDoc 和屬性中添加了對(duì)多行和嵌套數(shù)組形狀的完全支持:在這種情況下,可以使用數(shù)組形狀注釋定義數(shù)組結(jié)構(gòu),以獲得鍵的代碼補(bǔ)全并推斷值的類型。
PHP作為Web界第一大語言近年來熱度不夠,但是這幾年的進(jìn)步和成長卻沒有中斷。在2022伊始,我們來一起學(xué)習(xí)一下目前PHP的現(xiàn)狀以及最新版本帶來的特性。
Linux程序前臺(tái)后臺(tái)切換:在Linux終端運(yùn)行命令的時(shí)候,在命令末尾加上 & 符號(hào),就可以讓程序在后臺(tái)運(yùn)行Ubuntu$">root@Ubuntu$ ./tcpserv01 &
Python 的正則表達(dá)式支持 多行模式,將每行文字分別匹配。然而各種操作系統(tǒng)里,換行符的表示法各不相同,會(huì)導(dǎo)致 Python 不能正確使用多行模式。