首先搭建好Apache服務器,詳見:https://blog.csdn.net/weixin_40748006/article/details/106840924
一、使用openssl生成私鑰及證書
1、生成私鑰,默認使用rsa算法,不需要密碼
openssl genrsa -out rsa1024.key 1024
注意在使用下面des3算法時會需要輸入密碼,有密碼的私鑰添加apache,服務是起不來的
openssl genrsa -des3 -out c:\des3.key 2048
-des3是算法,1024/2048是保密強度
2、創建證書籤名請求CSR文件
openssl req -new -key rsa1024.key -out rsa1024.csr
注意:域名一定要和Apache服務器裏的ServerName保持一致,否則啓動服務器時會報錯。
郵箱地址、密碼等可以不用填寫
3、生成CA證書
openssl x509 -req -days 365 -in rsa1024.csr -signkey rsa1024.key -out rsa1024.crt
證書生成完畢!
二、Apache https服務器搭建
1、將證書私鑰放入Apache目錄下
我在C:\Apache24\conf\下創建了一個cert文件夾放入了證書
2、配置http-ssl.conf文件
在C:\Apache24\conf\extra目錄下找到http-ssl.conf文件,找到以下內容,將前面#去掉。修改內容。以下字段值在文件裏都可以找到,直接修改即可,無需再添加
SSLEngine on
SSLCertificateFile "${SRVROOT}/conf/cert/rsa1024.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/cert/rsa1024.key"
#SSLCertificateChainFile "${SRVROOT}/conf/server-ca.crt" #這個我暫未使用
DocumentRoot "${SRVROOT}/htdocs"
ServerName www.wuxj.com:443 #注意這個域名一定要跟證書裏的域名設置的一樣,否則會報錯
SSLProtocol TLSv1.1 #apache支持的協議,可以配置TLSv1.1 TLSv1.2 TLSv1.3,可以不修改用默認的
SSLCipherSuite AES256-SHA #加密套件配置,支持多種加密套件,可以用默認的不修改
3、配置httpd.conf文件
將以下內容的#去掉
Include conf/extra/httpd-ssl.conf
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule socache_dbm_module modules/mod_socache_dbm.so
4、重啓apache服務,即可配置完成
5、驗證https服務,可以正常訪問