前言
主要记录一下自己apache配置https过程,根据网上铺天盖地的文章做遇到太多坑了,所以梳理了一下配置过程
准备SSL证书
对于https而言,我们可以准备两种SSL证书,一种是自签名证书,一种是向证书颁发机构(CA)购买的证书。
我主要采用了自签名方式:
使用OpenSSL来生成一个自签名证书,(登陆其官网index.html即可下载)。
下载完直接安装即可。
使用的是win64 openssl3.xx版本
配置openssl指令,配置环境变量
win+r 调出命令行,输入openssl 回车后返回一堆命令提示信息,就表示安装成功了,接着就是配置证书了
步骤1: 输入: openssl genrsa -out server.key 2048
生成ca证书密钥。-out:其为输出文件,2048:其密钥位数,server.key :文件位置名称
步骤2: 输入:openssl req -new -key server.key -out server.csr
生成网站证书请求文件CSR。 其中字段含义参考步骤1,回车后会输入省份,地区,邮箱等信息,根据情况填写
步骤3: 输入:openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
生成ca证书 。-x509是其采用的标准,-days说明其生效时间,一般为一年(365)
到这步就可以看到你填写的文件的位置出现下面3个文件
准备工作完成后,开始配置apache
步骤1: 找到apache文件夹,\conf\httpd.conf 用记事本打开
取消以下4个前的#
LoadModule socache_dbm_module modules/mod_socache_dbm.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
步骤2: \conf\extra\httpd-ssl.conf用记事本打开
取消SSLSessionCache "dbm:${SRVROOT}/logs/ssl_scache"前的#
加上SSLSessionCache "shmcb:${SRVROOT}/logs/ssl_scache(512000)"前添加#
修改下
DocumentRoot “存放网页文件的位置”
例如: DocumentRoot “d:/Apache24/htdocs”
搜索SSLCertificateFile “${SRVROOT}/conf/server.crt”
替换为
SSLCertificateFile “上面生成证书你的存放地址server.crt”
搜索SSLCertificateKeyFile “${SRVROOT}/conf/server.key”
替换为
SSLCertificateKeyFile 上面生成证书你的存放地址server.key"
保存后,再打开 apache\bin\httpd.exe
浏览器输入
“http://电脑ip地址/1.html”
或者 “https://电脑ip地址/1.html”
都可以实现啦