开发者社区> ssl证书超市> 正文

让网站永久拥有HTTPS - 申请免费SSL证书并自动续期

简介: 为什么要用HTTPS   网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可能会被运营商劫持,然后在网站里显示一些莫名其妙的广告。   有HTTPS的时候,通俗地讲所有的数据传输都会被加密,你和网站之间的数据交流也就更加安全。
+关注继续查看

为什么要用HTTPS

  网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可能会被运营商劫持,然后在网站里显示一些莫名其妙的广告。
20180205164602818

  有HTTPS的时候,通俗地讲所有的数据传输都会被加密,你和网站之间的数据交流也就更加安全。
20180205164807949

相关简介

Let’s Encrypt

  如果要启用HTTPS,我们就需要从证书授权机构处获取一个证书,Let’s Encrypt 就是一个证书授权机构。我们可以从 Let’s Encrypt 获得网站域名的免费的证书。

Certbot

  Certbot是Let’s Encrypt推出的获取证书的客户端,可以让我们免费快速地获取Let’s Encrypt证书。

便宜SSL

  便宜SSL是一家国内的SSL证书提供商,同样也拥有免费证书。而且提供丰富的工具:

获取HTTPS证书

  获取SSL证书的过程大体上都一样。既可以图形化,也可以命令行,最后实现的效果都完全一样,大家各取所需。

命令行

安装Certbot

  进入Certbot的官网,选择你所使用的软件和系统环境,然后就会跳转到对应版本的安装方法,以Ubuntu + Nginx为例。

1,sudo apt-get update
2,sudo apt-get install software-properties-common
3,sudo add-apt-repository ppa:certbot/certbot
4,sudo apt-get update
5,sudo apt-get install certbot

申请证书

  安装完成后执行:

certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com

  这条命令的意思是为以/var/www/example为根目录的两个域名example.com和www.example.com申请证书。

  如果你的网站没有根目录或者是你不知道你的网站根目录在哪里,可以通过下面的语句来实现:

certbot certonly --standalone -d example.com -d www.example.com

  使用这个语句时Certbot会自动启用网站的443端口来进行验证,如果你有某些服务占用了443端口,就必须先停止这些服务,然后再用这种方式申请证书。

  证书申请完之后,Certbot会告诉你证书所在的目录,一般来说会在/etc/letsencrypt/live/这个目录下。

图形化

  进入便宜SSL的官网 www.pianyissl.com
, 注册了账号之后,选择那个体验版的免费测试,然后点确认购买。
20180903222550277

  输入域名并点击生成CSR并提交申请按钮。

20180903222629731

  点击确定按钮。

20180903222649980

  接下来会选择验证方式。

20180903222741900

  这里我选择邮箱验证方式,其它另外两种依照你的个人情况而定,反正就是为了验证域名是不是你的而已。

20180903222810359

  大约过几分钟,邮箱会收到一封验证邮件,如下图,复制②指向的一串验证码,点击①处的Here链接。

20180903222917230

  输入验证码,点击Next>按钮。

20180903222950411

  提示已经输入正确的验证码,点击Close Window。

20180903223017250

  大约等到10分钟左右,再次登陆www.pianyissl.com,进入个人中心,可以看到已经成功申请SSL证书,点击查看详情。

20180903223141984

  此时你可以点击箭头所指的证书打包下载,然后免费的SSL证书就可以下载到本地了,下载后可以看到SSL压缩包内的文件。

2018090322315373

部署HTTPS证书

  找到网站的Nginx配置文件,找到listen 80;,修改为listen 443;在这一行的下面添加以下内容:

1,ssl on;
2,ssl_certificate XXX/fullchain.pem; 修改为fullchain.pem所在的路径
3,ssl_certificate_key XXX/privkey.pem; 修改为privkey.pem所在的路径
4,ssl_session_timeout 5m;
5,ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
6,ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
7,ssl_prefer_server_ciphers on;

  保存退出后,通过nginx -t来检查配置文件是否正确,有错误的话改之即可。配置文件检测正确之后,通过nginx -s reload来重载配置文件。

  然后通过访问 example.com 来查看是否配置成功。

  如果发现无法访问或者是加载不出来的话检查一下443端口有没有开启!

设置HTTP强制跳转HTTPS

  上一步成功之后大家可能会发现通过原来的 example.com
无法访问网页了,因为HTTP默认走的是80端口,我们刚才将其修改为443端口了。在这里我们可以在配置文件的最后一行加入以下代码:

server {

listen 80;
server_name example.com;  这里修改为网站域名
rewrite ^(.*)$ https://$host$1 permanent;

}

  意思是每一个通过80端口访问的请求都会强制跳转到443端口,这样一来访问 example.com 的时候就会自动跳转到example.com了。

命令行下设置证书自动续期

  有心的小伙伴可能会留意到我们刚才申请的整数的有效期只有90天,不是很长,可是我们可以通过Linux自带的cron来实现自动续期,这样就相当于永久了。

  随便找一个目录,新建一个文件,名字随便起,在这里以example为例,在里面写入0 /12 certbot renew --quiet --renew-hook "/etc/init.d/nginx reload",保存。

  然后在控制台里执行crontab example一切都OK了。原理是example里存入了一个每天检查更新两次的命令,这个命令会自动续期服务器里存在的来自Certbot的SSL证书。然后把example里存在的命令导入进Certbot的定时程序里。

附:

其它环境下的证书部署

  www.pianyissl.com/support/

Nginx相关命令

nginx -t 验证配置是否正确
nginx -v 查看Nginx的版本号
service nginx start 启动Nginx
nginx -s stop 快速停止或关闭Nginx
nginx -s quit 正常停止或关闭Nginx
nginx -s reload 重新载入配置文件

crontab相关命令

cat /var/log/cron 查看crontab日志
crontab -l 查看crontab列表
crontab -e 编辑crontab列表
systemctl status crond.service 查看crontab服务状态
systemctl restart crond.service 重启crontab

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
HTTPS 免费证书,免费 ssl 证书,申请多种免费证书
推荐一个免费的阿里云产品:云盾证书(https证书) 为了能让非专业人士看懂,同样尽量用直白的话,一般来说:当你个人需要建立网站,或者公司要建立官网、商城,通常需要先购买服务器或云主机,虚拟空间,然后将网页和程序、数据库部署上去,用户就可以用浏览器访问了,比如说浏览页面的内容、登录、发表评论、购物等。
18922 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
14270 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
29079 0
Nginx配置HTTPS证书网站
前提:     1、主机需要先安装openssl     2、编译安装nginx时,要加上--with-http_ssl_module  这个ssl模块 现在开始配置:(我当时配置时,主机已安装了openssl,但编译时没有加载http_s...
1118 0
宝塔面板如何配置网站ssl安全证书(支持https访问)
宝塔面板如何配置网站ssl安全证书(支持https访问)
1926 0
HTTPS 免费证书,免费 ssl 证书,FreeSSL.org 申请多种免费证书
随着互联网的日益发展,它已经深入的人们生活的方方面面,可以说我们已经离不开互联网了。面对人类如此的依赖,互联网安全愈发的重要,个人隐私也愈发的需要保护起来。如何才能提高我们上网的安全呢?如何保护我们上网的隐私?如何防止被黑客劫持?等等,许多安全因素需要考虑到。
49737 0
开发人员,怎能没有个人博客!HTTP升级HTTPS,网站部署SSL证书
开发人员,怎能没有个人博客!HTTP升级HTTPS,网站部署SSL证书
61 0
全面进入HTTPS网站加速新时代,CDN上线免费证书
9月份发布的Chrome 70,将不再信任Symantec原品牌CA签发的数字证书。据悉,DigCert已经完全接管了Symantec证书业务,从接管之日起签发的证书已经是DigiCert的根证书,阿里云签发的免费证书都是DigiCert的根,所以可以避免不被浏览器信任等问题。
2877 0
gdy
Tomcat9使用免费的Https证书加密网站
1.概述 Apache Tomcat是一款优秀的Java Web容器,对于各个站长来说,可以很方便的使用Tomcat将自己的网站博客放在公网的服务器上,分享自己的心得以及个人博客。 那么在公网中的访问,没有被第三方公认可信的机构加密时,会默认使用Http协议,以明文将自己的网站在公网上传输。
2524 0
+关注
ssl证书超市
现在,我们每天都要依赖电脑和互联网来工作和生活,在享受了互联网的便利的同时也使得我们变成越来越脆弱。每日的新闻报道证实了我们正在面临各种不断泛滥和不断发展的恶意软件的威胁,以及网络犯罪、网络恐怖主义和相关的威胁,本人专注SSL证书相关问题解答
4
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载