关于Apache服务器配置SSL证书的那些事(保姆级教程)

        很多人在买好服务器,买好域名后,总是揪心于网页上没有那个小锁头​。对于强迫症的人来说总是好难受(比如我自己),在难受之余我就来教教你怎么在你的域名上加把锁,怎么给你的Apache安装你的证书。

        (博主以下都是以阿里云的服务器为例)

        首先要下载配置SSL证书,我们肯定先得找到它,登录进阿里云的官网打开控制台往下滑找到安全=>云安全=>SSL证书(应用安全)

        在SSL证书界面中,我们可以点击这个购买点进去后,阿里云每年会有20个免费证书供我们使用,点击购买即可(因为博主今年已经申请过了,所以不能再申请)

        购买完后点击创建证书,创建后会有如下页面,点击证书申请

         点击后会有如下页面,在证书绑定域名输入你需要绑定的域名即可

 在申请验证通过后,就会生成下图这样的一个带有编号的证书

        我们只需点击下载,选择Apache的证书类型下载

下载好后是一个压缩包, 编号_域名_apache.zip,我们把它解压缩会得到三个文件,分别是:

        编号_域名.key

        编号_域名_chain.crt

        编号_域名_public.crt

        这个时候就可以开始对我们的Apache服务器下手了,嘿嘿...

        打开到Apache服务器的目录,不用进到bin目录,直接在apache2.4.37(类似这样,具体看个人)目录下创建一个文件夹命名:cert,将我们刚刚下载解压后的三个文件直接放进去。
        做好这个前期准备工作后,进入conf目录找到httpd.conf文件打开,找到这两句话,大约是在185行和549行找到后将前面的#号删掉。

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

        删掉这句话前面的#号时

        #Include conf/extra/httpd-ssl.conf

        重启Apache时可能会遇到Apache启动失败的问题,别着急,是你的httpd-ssl.conf文件还没有配置好,这个文件在apache2.4.37/conf/extra(注意上面步骤的#号都要记得删除保存)

<VirtualHost _default_:443>

DocumentRoot "${SRVROOT}/htdocs"  #这个位置放入你的本地域名指向的文件地址如"${INSTALL_DIR}/www"
ServerName www.example.com:443    #这里换上你的域名如"www.baidu.com:443"端口记得别漏了
ServerAdmin [email protected]     #这里的话不动

ErrorLog "${SRVROOT}/logs/error.log" 
TransferLog "${SRVROOT}/logs/access.log"

SSLEngine on

SSLCertificateKeyFile "${SRVROOT}/conf/server.key" 
#这里换上你的key文件如"${SRVROOT}/cert/编号_域名.key"

SSLCertificateFile "${SRVROOT}/conf/server.crt" 
#同上

#SSLCertificateChainFile "${SRVROOT}/conf/server-ca.crt" 
#这个注意!!!在httpd-ssl.conf文件中这句话可能是被注释掉的,我们需要把前面的#号删掉,然后再把路径替换成我们的文件

</VirtualHost>                                  

        这时候配置好后,如果启动Apache仍然失败,我们就看到上面的这两句:

        ErrorLog "${SRVROOT}/logs/error.log" 
        TransferLog "${SRVROOT}/logs/access.log"

        这两句我们找到apache2.4.37/logs里面,发现两个文件不存在,这时候我们手动创建两个空记事本进行更改后缀,创建成功后再次尝试启动Apache

        如果还是失败,我们找到刚刚的httpd-ssl.conf文件找到下面这两行,在其前面加上#号,将这两个注释掉即可

92:SSLSessionCache        "shmcb:${SRVROOT}/logs/ssl_scache(512000)"
93:SSLSessionCacheTimeout  300

        这时候再来启动Apache服务器,就基本上会成功了。

        最后进入阿里云服务器安全组,打开443端口,即可正常访问https://...

        以上的教程面对的是全小白,如果你想深入了解为什么这么做,Window和Linux系统都可以打开命令行把当前操作目录cd到apache2.4.37/bin目录下输入httpd.exe -t命令,当Apache可以正常启动时,会输出Syntxax OK。如若是其他错误,则会输出具体错误,这时我们便可以看到是什么出错进行调试。

        (以上内容仅供学习参考,若有错误之处欢迎指正交流)

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>