天天看点

阿里云SSL证书服务实践

0. 实践目的: 

有一台ECS服务器运行一个比较重要的网站,为了保证中间的数据传输安全需要对其加密,在阿里云平台中使用SSL证书服务来完成这个需求。

1. SSL证书服务购买:

实验用途,选择免费版本,如果是线上对安全性要求比较高的建议选择

专业版、高级版、增强型

的SSL证书

阿里云SSL证书服务实践

2. SSL证书申请:

填写域名信息,所在地信息,域名验证方式因为云解析服务已经有yekangming.com域名,所以可以选择自动DNS验证,如果是手工DNS验证,需要手动配置配置DNS验证,填写申请人信息,CSR选择系统自动生成。

CSR知识补充:1、使用 系统生成CSR 方式,系统将自动帮您生成证书私钥,并且在证书申请成功后可直接在证书管理列表中下载您的证书和私钥。

您也可以自己生成 CSR(Certificate Signing Request)证书请求文件,并上传CSR,在证书申请成功后可直接在证书管理列表中下载您的证书。

阿里云SSL证书服务实践

如果是手工验证需要手动添加一条DNS TXT类型的解析记录。

阿里云SSL证书服务实践
阿里云SSL证书服务实践

等待证书审批完成,状态会变成已签发

阿里云SSL证书服务实践
阿里云SSL证书服务实践

3. SSL证书应用:

3.1 下载SSL证书,需要根据应用服务器类型,因为我的环境是Apache Httpd,所以我选择选下载Apache(按需选择)

阿里云SSL证书服务实践

3.2 解压下载的证书压缩包,并上传到ECS服务器。

3.3 修改Apache httpd配置,应用SSL证书。配置修改完成后要重启应用。(Apache Httpd请看3.3,如果是Nginx请看3.4)

3.3.1 将访问请求从HTTP跳转HTTPS

编辑站点根目录下的.htaccess进行配置,判断请求的端口是否80,如果是就匹配规则调整到HTTPS。

阿里云SSL证书服务实践

RewriteEngine

On

RewriteCond

%{SERVER_PORT} 80

RewriteRule

^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

3.3.2 启用Apache httpd SSL模块及配置

将#号删除表示启用配置

LoadModule

ssl_module modules/mod_ssl.so

Include

conf/extra/httpd-ssl.conf

3.3.3 配置密钥对和证书链等信息

阿里云SSL证书服务实践

Listen

443

SSLPassPhraseDialog  builtin

SSLSessionCache         shmcb:/var/cache/mod_ssl/scache(512000)

SSLSessionCacheTimeout  300

SSLMutex

default

SSLRandomSeed

startup file:/dev/urandom  256

connect builtin

SSLCryptoDevice

builtin

SSLProtocol

all -SSLv2 -SSLv3

SSLHonorCipherOrder

on

SSLCipherSuite

ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW:!RC4:

<VirtualHost

*:443>

DocumentRoot

"/data/webroot/mvp"

Servername

mvp.yekangming.com

ErrorLog

/var/log/httpd/mvp.yekangming.com-ssl-error.log

TransferLog

/var/log/httpd/mvp.yekangming.com-ssl-access.log

LogLevel

warn

SSLEngine

SSLCertificateFile

/data/certificate/mvp.yekangming.com-public.crt

SSLCertificateKeyFile

/data/certificate/mvp.yekangming.com-private.key

SSLCertificateChainFile

/data/certificate/chain.crt

</VirtualHost>

3.4  修改Nginx配置,配置修改完成后要重启应用。(Apache Httpd请看3.3,如果是Nginx请看3.4)

3.4.1 编辑nginx配置文件,配置http跳转https,配置443端口监听及绑定证书。

阿里云SSL证书服务实践

 server {

        listen 80;

        server_name mvp.yekangming.com;

        location / {

            rewrite ^/(.*)$

https://mvp.yekangming.com/$1 permanent;

        }

    }

    server {

        listen 443 ssl;

        ssl_certificate

/data/certificate/mvp.yekangming.com-public.crt;

        ssl_certificate_key

/data/certificate/mvp.yekangming.com-private.key;

            root /data/webroot/mvp;

            index index.php index.html;

}

4. SSL证书的访问测试

主流的火狐和谷歌浏览器完美支持SSL证书,并正常显示和访问。

阿里云SSL证书服务实践
阿里云SSL证书服务实践

5. SSL证书服务使用总结:

阿里云SSL证书使用非常简单,很容易入门即可完成申请证书,配置证书,还可以支持一键部署到CDN及SLB云产品中。

继续阅读