欢迎您光临深圳塔灯网络科技有限公司!
电话图标 余先生:13699882642

网站百科

为您解码网站建设的点点滴滴

阿里云ecs如何部署https

发表日期:2018-09 文章编辑:小灯 浏览次数:3397

如今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 # 例子: certbot 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/donateDonating 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_namewww.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_namewww.similarnote.com; # 你的网址路径 root /website/blog/similarnote.com/; indexindex.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_timeout30m; 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的配置步骤了,效果可以看这里。


本页内容由塔灯网络科技有限公司通过网络收集编辑所得,所有资料仅供用户学习参考,本站不拥有所有权,如您认为本网页中由涉嫌抄袭的内容,请及时与我们联系,并提供相关证据,工作人员会在5工作日内联系您,一经查实,本站立刻删除侵权内容。本文链接:https://dengtar.com/20426.html
相关开发语言
 八年  行业经验

多一份参考,总有益处

联系深圳网站公司塔灯网络,免费获得网站建设方案及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:余经理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

  • QQ咨询
  • 在线咨询
  • 官方微信
  • 联系电话
    座机0755-29185426
    手机13699882642
  • 预约上门
  • 返回顶部