Linux,博客

wamp3.20 安装SSL证书开启HTTPS访问

by admin, 2020-03-18


一、申请SSL证书

利用阿里云、腾讯云免费SSL,期限一年;或者搞一个Let’s Encrypt。

二、上传SSL证书

将Apache文件夹中的证书上传到服务器,比如是C:ssl\
ssl.jpg

三、配置httpd.conf

打开apache下的httpd.conf文件 找到以下语句:

 #LoadModule ssl_module modules/mod_ssl.so 

 #Include conf/extra/httpd-ssl.conf 

去掉语句前的#号注释

四、配置httpd-ssl.conf

Listen 443
SSLSessionCache        "shmcb:${SRVROOT}/logs/ssl_scache(512000)"
<VirtualHost _default_:443>
DocumentRoot "C:/wamp64/www"
ServerName kissbaofish.com:443
ServerAdmin admin@example.com
ErrorLog "${SRVROOT}/logs/error.log"
TransferLog "${SRVROOT}/logs/access.log"

SSLEngine on
#证书具体路径
SSLCertificateFile "C:/ssl/2_kissbaofish.cn.crt"
SSLCertificateKeyFile "C:/ssl/3_kissbaofish.cn.key"
SSLCertificateChainFile "C:/ssl/1_root_bundle.crt"

五、重启Apache

重新启动Apache,如果没有变成绿色,请在Apache的bin目录下打开cmd,运行如下命令 httpd -t;看看报什么错
我的是
“Syntax error on line 76 of C:/apache/conf/extra/httpd-ssl.conf:SSLSessionCache: ‘shmcb’ session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?).”
解决办法:
打开httpd.conf,找到 LoadModule socache_shmcb_module modules/mod_socache_shmcb.so,把前面的注释去掉。

重启后,显示Syntax OK。
大功告成

六、HTTP 自动跳转 HTTPS

可以通过配置服务器,让其自动将 HTTP 的请求重定向到 HTTPS
配置 httpd.conf
确认该配置文件是否存在LoadModule rewrite_module modules/mod_rewrite.so
去掉前面的注释符号(#)号。
在 httpd.conf 配置文件中添加如下内容:

<Directory "${INSTALL_DIR}/www/">
    # 新增
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
无标签
2020 © - home