阿里云服务器使用免费个人DV证书部署nginx+https站点

一、在阿里云中购买证书服务

在阿里云中购买证书服务,功能可以在阿里云的控制台中的“证书服务”中找到,由于是个人站点,我购买的是DV类型的证书。


OK,这里补充一下证书的几个类型,根据不通的业务类型使用不通的证书:

证书类型 使用范围
DV 个人使用证书,能起到加密传输的作用,但无法向用户证明网站的真实身份。
OV 企业使用证书,提供加密功能,对申请者做严格的身份审核验证,提供可信身份证明。
EV 增强型证书,为目前企业最广泛使用的证书。金融证券、银行、第三方支付、网上商城等,重点强调网站安全、企业可信形象的网站,涉及交易支付、客户隐私信息和账号密码的传输。
当证书已经签发完成后,下载到本地,准备上传到服务器了。可以发现证书一共是2个文件,一个是pem,一个是key

二、web服务器结构

我的web服务器结构很简单,使用了典型的nginx+php+mysql。在开启https之前,需要将阿里云安全规则的443端口对外开放,否则无法使用https服务。


这里关键点在于Nginx的配置,首先,确保你在编译、安装nginx的时候加上了ssl模块,如果没有,就必须重新编译或者安装了。

//查看nginx是否支持ssl
bash-4.1# /usr/local/nginx_1.10.1/sbin/nginx -V
nginx version: nginx/1.10.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
configure arguments: --prefix=/usr/local/nginx_1.10.1 --user=www --group=www --with-pcre --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module

//很遗憾,需要重新编译nginx,在编译的时候带上--with-http_ssl_module,--with-stream_ssl_module参数,否则ssl模块无法使用

重新编译后nginx后,我在nginx的目录下新建一个cert目录,将证书的key和pem文件复制到该目录下,并配置站点文件。
在server中添加ssl支持:
1)listen设置443端口,这个是https的默认端口
2)ssl_certificate和ssl_certificate_key设置为证书的路径
3)ssl_ciphers指令为ssl加密方式(可参考: http://nginx.org/en/docs/stream/ngx_stream_ssl_module.html#ssl_ciphers

server {
    listen 443;
    server_name localhost;
    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate  cert/xxx.pem;
    ssl_certificate_key  cert/xxx.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        root html;
        index index.html index.htm;
    }
}

配置完后,重启nginx,并测试https的访问。到目前为止,https已经部署完成,但是会发现https和http均可以访问。因此,我们需要在http做301跳转到https。

server {
    listen       80;
    server_name  localhost;
    rewrite ^/(.*)$ https://localhost.com permanent;
}

最后在线测试一下安全性,等级为F级,对于个人证书来说,已经是不错了。至于性能和更高的安全性优化,那是后话了。


附录:
一个在线的https安全性检测站点:
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值