美文网首页互联网科技阿里云
阿里云ecs如何部署https

阿里云ecs如何部署https

作者: 8033b4d1f3ec | 来源:发表于2018-09-02 21:33 被阅读12次

如今https已经是大势所趋,https拥有很多优点,传输加密不会被运营商劫持;微信小程序已经强制要求https,google明确表示https站点的权重相比于http要高。如果不想再看到右下角讨厌的弹窗广告,那么https将是你的首选。

https的类型大致分为以下三种类型:

https1.png

OVSSL和EVSSL收费昂贵,安全程度较高,一般适合企业和金融级别的产品,比如企业站点和银行站点。目前ssl证书做的最好的是Symantec,Digicert于2017年12月1日 ,完成对Symantec证书服务的并购,所以目前大部分企业用的都是digicert的服务。但是对于个人站点来说,购买如此昂贵的ssl证书实在不划算。

这是阿里云上ssl证书的收费价格,这个价格对于个人站点来说显然是高了,阿里云之前提供过免费的个人站点ssl证书,但是最近已经把入口隐藏了,估计不会再提供免费的ssl证书了。

那么对于个人站长来说,有没有性价比高的ssl证书呢?显然是有的。Let's Encrypt是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程。

我申请的方式是通过certbot脚本的方式申请的,certbot相当于做了一套自动化申请的方式,不用人工去做审核了。首先需要创建自己的站点,如果还没有站点请看这篇文章,有非常详细的介绍。

在安装完nginx和部署完自己的站点后,就可以安装letsencrypt了。首先需要确保服务器的443端口需要打开,如果是阿里云服务器,请先到安全组规则中打开443端口。

安装certbot:

yum install -y epel-release
yum install -y certbot

完成之后,使用certbot申请证书:

# 使用方法:certbot certonly --webroot -w [站点目录] -d [域名] -m [email地址] --agree-tos
# 例子:
certbotcertbot certonly --webroot -w /website/blog/ -d www.similarnote.com -m similarnote@gmail.com --agree-tos

我在执行这段命令的时候还遇到了一个错误,错误如下:

certbotcertbot-error.png

这个错误貌似是因为phyton版本的问题引起的,如果出现这个错误,那么运行下如下的命令:

pip install --upgrade --force-reinstall 'requests==2.6.0' urllib3

email地址填写真实的email地址,因为letsencrypt会向你发送一封确认邮件,并且在证书快过期时,letsencrypt会向你发送过期邮件提醒。申请成功后,你会看到类似以下的一段信息,这表明申请成功了。

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   .......
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

证书保存的位置:
/etc/letsencrypt/live/www.testdomain.com/

letsencrypt证书的有效期默认是90天,我们可以使用crontab表达式定期更新,更新证书的命令:

certbot renew --dry-run 

设置证书定期更新,首先打开crontab:

crontab -e

再输入以下命令:

00 05 01 * * /usr/bin/certbot renew >> /var/log/letsencrypt/renew.log

这个时间可以自己设置,一般设置为每月运行一次,上述表达式将在每月的1号凌晨5点执行,执行的日志将会被保存在renew.log中。

nginx配置

生成Perfect Forward Security键值

Perfect Forward Security是什么,可以看这里,这个东西很难说清楚,毕竟不是专业人士,简而言之就是:反正很厉害,装上就行了。

mkdir /etc/ssl/private/ -p
cd /etc/ssl/private/
openssl dhparam 2048 -out dhparam.pem

配置nginx

这里我就以我自己站点的配置来举例:

# 如果你想把普通http的访问跳转到https,那么配置下301永久跳转
server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  www.similarnote.com similarnote.com;
    return       301 https://www.similarnote.com$request_uri;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

# 这个节点才是配置ssl的
server {
    listen       443 ssl http2 default_server;
    listen       [::]:443 ssl http2 default_server;
    # 填写你的域名
    server_name  www.similarnote.com;
    # 你的网址路径
    root         /website/blog/similarnote.com/;
    index        index.html index.htm index.txt;

    # 以下换成你的公私钥地址
    ssl_certificate /etc/letsencrypt/live/www.similarnote.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.similarnote.com/privkey.pem;

    # session缓存大小,1mb大概存储4000个会话,根据自己站点情况设置
    ssl_session_cache shared:SSL:2m;
    ssl_session_timeout  30m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_tickets on;
    
    ssl_dhparam /etc/ssl/private/dhparam.pem;

    location / {
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

至此,已经完成了所有https的配置步骤了,效果可以看这里

相关文章

  • 阿里云ecs如何部署https

    如今https已经是大势所趋,https拥有很多优点,传输加密不会被运营商劫持;微信小程序已经强制要求https,...

  • 新手如何用阿里云服务器 ECS 搭建一个 WordPress 博

    云服务器 ECS > 建站教程 > 步骤 2:部署 Web 环境(LAMP) 本节介绍如何使用云市场的阿里云lin...

  • Go项目如何部署到阿里云

    Golang 项目开发结束后,如何部署到阿里云ECS,go项目部署简单很多,不会像Java 那么复杂 需要配置很多...

  • 一些笔记

    在 Intellij IDEA 中部署 Java 应用到 阿里云 ECS 如何在配置只有1G内存的服务器上部署To...

  • 阿里云建站的基本流程

    1. 云服务器 ECS 1.1 概述 云服务器ECS实例,即阿里云服务器,以下简称 ECS 实例。https://...

  • ubuntu 16.04 部署sentry

    sentry 部署 一 准备:机器及域名 * 机器: 阿里云ecs * 域名:sentry.domai...

  • Xshell

    阿里云无法连接Windows实例ECS远程连接 Linux 实例阿里云从购买到web应用部署整个过程配置### 常...

  • 云服务器ubuntu系统配置python环境

    云服务器购买 https://ecs-buy.aliyun.com/#/prepay阿里云ECS服务. 简单项目最...

  • 关于部署和平时测试的总结

    一、基于阿里云部署 (一)先了解整个阿里云部署的整体框架,系统知识,如服务器ECS,负载均衡SLB,路由器,交换机...

  • GitLab 7.4.3 升级

    当前阿里云 ECS centos 6.5 部署的 GitLab 7.4.3 是在 2016 年一键安装部署的,版本...

网友评论

    本文标题:阿里云ecs如何部署https

    本文链接:https://www.haomeiwen.com/subject/tdhvwftx.html