Apache及openssl配置https详解

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章