一、获取证书
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]