发表日期:2018-09 文章编辑:小灯 浏览次数:3397
如今https已经是大势所趋,https拥有很多优点,传输加密不会被运营商劫持;微信小程序已经强制要求https,google明确表示https站点的权重相比于http要高。如果不想再看到右下角讨厌的弹窗广告,那么https将是你的首选。
https的类型大致分为以下三种类型:
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端口。
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
我在执行这段命令的时候还遇到了一个错误,错误如下:
这个错误貌似是因为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中。
Perfect Forward Security是什么,可以看这里,这个东西很难说清楚,毕竟不是专业人士,简而言之就是:反正很厉害,装上就行了。
mkdir /etc/ssl/private/ -p cd /etc/ssl/private/ openssl dhparam 2048 -out dhparam.pem
这里我就以我自己站点的配置来举例:
# 如果你想把普通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的配置步骤了,效果可以看这里。
日期:2018-04 浏览次数:6658
日期:2017-02 浏览次数:3340
日期:2017-09 浏览次数:3537
日期:2017-12 浏览次数:3425
日期:2018-12 浏览次数:4677
日期:2016-12 浏览次数:4468
日期:2017-07 浏览次数:13540
日期:2017-12 浏览次数:3385
日期:2018-06 浏览次数:4162
日期:2018-05 浏览次数:4346
日期:2017-12 浏览次数:3466
日期:2017-06 浏览次数:3889
日期:2018-01 浏览次数:3836
日期:2016-12 浏览次数:3805
日期:2018-08 浏览次数:4331
日期:2017-12 浏览次数:3592
日期:2016-09 浏览次数:6283
日期:2018-07 浏览次数:3107
日期:2016-12 浏览次数:3125
日期:2018-10 浏览次数:3281
日期:2018-10 浏览次数:3370
日期:2018-09 浏览次数:3463
日期:2018-02 浏览次数:3484
日期:2015-05 浏览次数:3415
日期:2018-09 浏览次数:3209
日期:2018-06 浏览次数:3334
日期:2017-02 浏览次数:3778
日期:2018-02 浏览次数:4234
日期:2018-02 浏览次数:4038
日期:2016-12 浏览次数:3481
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.