Apache https证书的配置

首先,为了方便大家参考,我先po一下环境信息。

操作系统为Windows Server 2019 64位
wampserver版本为3.2.0
wamp内嵌的Apache版本为2.4.41
Apache https证书的配置_第1张图片

首先下载证书。进入SSL证书管理器,点击下载
Apache https证书的配置_第2张图片

根据阿里云官方文档的说明,在Apache根目录下创建一个cert文件夹,并将下载的三个文件复制粘贴进去
Apache https证书的配置_第3张图片

然后打开httpd.conf文件,将下面两行前面的#号注释掉

#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf

这个时候不必着急重新启动服务器,因为此时虽然include了httpd-ssl.conf配置文件,该文件还没有配置,一般都会报错导致Apache无法正常启动。笔者在此走了些弯路。

然后找到conf/extra文件夹的httpd-ssl.conf文件,复制一个作为备份,免得不小心改坏了无力回天。

然后打开文件,将其代码删除,写入以下代码

listen 443

    DocumentRoot "${INSTALL_DIR}/www"
    ServerName www.example.com
    SSLEngine on
    SSLCertificateFile "C:/wamp64/bin/apache/apache2.4.41/cert/examplee_public.crt"
    SSLCertificateKeyFile "C:/wamp64/bin/apache/apache2.4.41/cert/example.key"
    SSLCertificateChainFile "C:/wamp64/bin/apache/apache2.4.41/cert/examplee_chain.crt"
    # SSLProtocol all -SSLv2 -SSLv3  添加SSL协议支持协议,去掉不安全的协议。
    # SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM   修改加密套件。
    # SSLHonorCipherOrder on


    Options -Indexes +FollowSymlinks
    AllowOverride All
    Require all granted

里的最后注释的三句是阿里云官方文档的语句,但是我的环境下加上之后反而会报错,不加的话才正常,大家可以根据具体情况选择是否加。
文件路径和地址在实际使用时可以替换为自己的路径选择。
可以写进,也可以写在它外面,根据自己的运行是否正常来选择。

然后重启服务器,发现可以用https访问啦

如果想增加HTTP请求自动跳转HTTPS,阿里云文档是说在httpd.conf里修改,但是笔者发现自己的httpd.conf里并没有,而这个语句的形式反而类似于httpd-vhosts.conf里设置虚拟域名的语句,于是我就在httpd-vhosts.conf里对应的地方加入了下面的语句

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]

加入之后的代码为
Apache https证书的配置_第4张图片

再重启服务器,可以发现http访问也OK啦!

你可能感兴趣的:(Apache https证书的配置)