首先搭建好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服务,可以正常访问