若是不知道为何,请绕路。apache
随着阿里云、腾讯云等相继退出 ssl证书服务,ssl 证书已经比较亲民。推荐你们使用收费的 ssl 证书,相对于你的业务量来讲,ssl 证书真的不贵。若是你是我的站长,例如本人,不想花费,那么仍是有免费的午饭
https://www.sslforfree.com/ui
sslforfree 不支持泛域名,可是一个证书能够包含100个域名,对于大多数状况下都是够用的,比较蛋疼的是一次输入多个域名,须要验证的过程会很是麻烦,由于每一个域名都须要上传一个验证文件或者增长一条 TXT 记录来验证域名的有效性。因此建议你们一开始不用太贪心,输入实在要使用的域名便可,若是新增了域名,后面仍是能够经过申请新的证书来解决。阿里云
多个域名经过空格符间隔开。
点击「Create」就是进入验证界面,验证完毕以后就能够下载证书了。spa
打开压缩包里面有3个文件code
三个文件分别对应 Apache 配置里面的:blog
上面的对应关系你们不要对应错了。图片
yum install mod_ssl openssl
编辑 /etc/httpd/conf/httpd/confip
LoadModule ssl_module modules/mod_ssl.so Listen 443 NameVirtualHost *:443 <VirtualHost *:443> ServerName www.example.com DocumentRoot /www SSLEngine on SSLHonorCipherOrder on # 禁止SSLv2 SSLv3协议 SSLProtocol all -SSLv2 -SSLv3 #禁止RC4,禁止SF SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS SSLCertificateFile /sslforfree/certificate.crt SSLCertificateKeyFile /sslforfree/private.key SSLCertificateChainFile /sslforfree/ca_bundle.crt </VirtualHost>
注意:ssl
在一个 IP 供应多个域名和证书这个问题,折腾了好久,主要的域名是 apache 版本必定要高于 2.2.12,才支持 SNI。支持 SNI 才能实现一个 IP 供给多个证书。另外就是忘记了 NameVirtualHost 443,总是只有一个证书生效,另一个证书失效。sslforfree虽然是免费的,可是由于没3个月就须要 renew 一次,若是嫌麻烦,仍是推荐使用付费证书服务。get
安装 ssl 证书以后,默认状况下用户是可使用 http 和 https 两种方式来访问服务,若是但愿自动跳转,推荐使用下面的方式
<VirtualHost *:80> ServerName www.example.com # 全站跳转 Redirect permanent / https://www.example.com # 指定跳转 Redirect permanent /user/login https://www.example.com/user/login </VirtualHost>