windows 下的 Apache SSL证书配置

一、获取证书

1.从腾讯云获取

(1)登录腾讯云后,在“产品”中搜索【ssl】然后会得到 "SSL证书“,进入后点“立即选购”

这样就完成了证书的申请,等待一个工作日的审核。

审核通过后,进入控制台就可以看到自己的ssl证书了

下载下来,得到里面Apache的证书文件。

2.从阿里云上获取

登录阿里云后 在产品中搜索ssl即可。

 然后到证书管理控制台去 申请证书,(由于我域名是在腾讯运购买的,这里配置始终说我的域名解析不是有效的***,所以我是用的腾讯下载的证书)

 

通常都是三个 文件。

二、配置证书

以下Apache ssl配置以腾讯云得到的那三个文件为例。

参考地址:https://help.aliyun.com/document_detail/98727.html?spm=5176.10695662.1996646101.searchclickresult.5358481aAOuRQv

第一步:

Apache安装目录中新建cert目录,并将下载的Apache证书、证书链和秘钥文件拷贝到cert目录中。

腾讯云证书目录:

1_root_bundle.crt是 SSLCertificateChainFile

2_www.xxx.com.crt 是 公钥

3_www.xxx.com.crt 是 私钥

阿里云证书目录:

第二步:

 打开Apache/conf/httpd.conf,在httpd.conf文件中找到以下参数并进行配置。

#LoadModule ssl_module modules/mod_ssl.so #删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认是不启用该模块的。如果找不到该配置,请重新编译mod_ssl模块。

#Include conf/extra/httpd-ssl.conf 删除行首的配置语句注释符号“#”。

保存httpd.conf文件后退出

第三步:

打开Apache/conf/extra/httpd-ssl.conf,在httpd-ssl.conf文件中找到以下参数并进行配置

# 添加SSL协议支持协议,去掉不安全的协议。
SSLProtocol all -SSLv2 -SSLv3
# 使用此加密套件。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM  
# 将domain name_public.crt替换成您证书文件名。
SSLHonorCipherOrder on
SSLCertificateFile "cert/2_www.demo.com.crt"  

# 将domain name.key替换成您证书的秘钥文件名。 SSLCertificateKeyFile "cert/3_www.demo.com.key"
# 证书链开头如果有#字符,请删除。 SSLCertificateChainFile "cert/1_root_bundle.crt"

保存配置 重启Apache即可

三、如果想要 让访问是 http自动跳转为https ,即 只能通过https访问(不配置,则http和https都可以访问)

找到 conf/httpd.conf文件,在改文件最底部添加以下内容
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/tz.php
RewriteRule (.*) https://%{SERVER_NAME}$1 [R]

原文地址:https://www.cnblogs.com/potatog/p/10670776.html