Let's Encrypt申请免费SSL证书
1.https的作用
安全,防止网站被劫持,数据被修改
2.Let's Encrypt是什么
Let's Encrypt是一个证书授权机构(CA),可以从Let's Encrypt获得网站域名的免费证书。
3.Certbot是什么
Certbot是Let's Encrypt官方推荐的获取证书的客户端,可以帮助我们获取免费的Let's Encrypt证书。
4.获取免费证书
1)安装Certbot客户端
yum install certbot
2)获取证书
需要是绑定这台服务器的域名
certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com
这个命令会为example.com和www.example.com这两个域名生产一个证书。
webroot:网站跟目录,命令执行后会在/var/www/example中创建.well-known文件夹,这个文件夹包含了一些验证文件,certbot会通过访问example.com/.well-known/acme-challenge来验证你的域名是否绑定的这个服务器。
有些服务没有根目录如何处理呢?certbot提供了另一种模式--standalone,这种模式不需要指定根目录,它会自动启用服务器的443端口,来验证域名的归属。
certbot certonly --standalone -d example.com -d www.example.com
命令执行成功以后,可以在/etc/letsencrypt/live/目录下看到对应域名的文件夹
5.Nginx配置启用HTTPS
server {
server_name example.com www.example.com;
listen 443;
ssl on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:3999;
proxy_http_version 1.1;
proxy_set_header X_FORWARDED_PROTO https;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
}
listen 443:监听443端口,HTTPS占用443端口
ssl on:启用SSL
ssl_certificate:配置公钥证书路径
ssl_certificate_key:配置私钥证书路径
重启ngingx:nginx -s reload
6.访问https网站
在浏览器中输入https://example.com,可以看到网址前面带有“安全锁”标识
7.自动更新SSL证书
Let's Encrypt提供的证书只有90天的有效期,必须在证书到期之前重新获取这些证书。
模拟证书renew
certbot renew --dry-run
关闭nginx,实际更新证书
nginx -s stop
certbot renew
也可以使用linux定时任务crontab来完成这个操作,新建一个定时任务文件certbot-auto-renew-cron,内容如下。
15 2 * */2 * certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start"
crontab启动定时任务
crontab certbot-auto-renew-cron
nginx -c /etc/nginx/nginx.conf
每隔两个月的2:15执行更新操作。
--pre-hook:执行命令前的操作,如果使用--standalone模式,会启用443端口,因为nginx已经占用了443端口,所以要先关闭
--post-hook:执行命令后的操作,启动nginx
Let's Encrypt申请免费SSL证书的更多相关文章
- 让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt
让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt 为什么要用HTTPS 网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可 ...
- 【转】IIS - 自动申请、部署Let's Encrypt的免费SSL证书
IIS - 自动申请.部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议) 2017-12-19发布:hangge阅读:161 一.HTTPS 协议介绍 1,什么是 HTTP ...
- IIS - 自动申请、部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议)
IIS - 自动申请.部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议) 2017-12-19发布:hangge阅读:161 一.HTTPS 协议介绍 1,什么是 HTTP ...
- 最新阿里云申请免费SSL证书实现网站HTTPS化(图文教程一)
一.申请免费SSL证书: 1.登录阿里云: 2.领取代金券礼包: https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=0a ...
- 阿里云申请免费SSL证书,并配置到Tomcat,实现https访问
第一步:阿里云免费https证书安装 https://jingyan.baidu.com/article/fdffd1f8619481f3e98ca196.html 第二步:阿里云申请免费SSL证书 ...
- docker获取Let's Encrypt永久免费SSL证书
一 起因 官方的cerbot太烦了,不建议使用 还不如野蛮生长的acme.sh,而这里介绍docker运行cerbot获取Let's Encrypt永久免费SSL证书 二 选型 cerbot的证书不会 ...
- 实战申请Let's Encrypt永久免费SSL证书过程教程及常见问题
最近需要https这里看到一份不错的博客,收录一下! Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla.Cisco.Akamai.IdenTrust ...
- 申请Let’s Encrypt永久免费SSL证书过程教程及常见问题
配置证书https://easy.zhetao.com/ 虽然目前Let’s Encrypt免费SSL证书默认是90天有效期,但是我们也可以到期自动续约,不影响我们的尝试和使用,为了考虑到文章的真 ...
- 申请Let's Encrypt永久免费SSL证书
Let's Encrypt简介 Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla.Cisco.Akamai.IdenTrust.EFF等组织人员发起 ...
随机推荐
- <十一>读<<大话设计模式>>之抽象工厂模式
学习设计模式有一段时间了,对设计模式有一个体会,就是没那么难.就是设计程序遵循一些原则,让代码可复用,在改动的时候不用涉及太多的类,扩展方便.抽象工厂模式名字听起来抽象.但理解起来一点也不抽象,用语言 ...
- js获取height和width总结
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js实现放大缩小页面
<script type="text/JavaScript"> var size = 1.0; function zoomout() { size = size + 0 ...
- ios中摄像头和图片调用
推荐文章 http://www.xuanyusong.com/archives/1493 http://blog.csdn.net/ryantang03/article/details/7830996
- Oracle 9i 10g 11g 区别的转载
下面看看9i.10g.11g版本的区别 Oracle 10g比9i多的新特性? 1. 10g支持网格计算,即多台结点服务器利用高速网络组成一个虚拟的高性能服务器,负载在整个 网格中衡(L ...
- Spring AOP之Introduction(@DeclareParents)简介
Spring的文档上对Introduction这个概念和相关的注解@DeclareParents作了如下介绍: Introductions (known as inter-type declarati ...
- JAVA中线程池的简单使用
比如现在有10个线程,但每次只想运行3个线程,当这3个线程中的任何一个运行完后,第4个线程接着补上.这种情况可以使用线程池来解决,线程池用起来也相当的简单,不信,你看: package com.dem ...
- ASP.NET Core 不同操作系统环境安装之Hello World 教程
Official Website:https://www.microsoft.com/net/learn/get-started-with-dotnet-tutorial#install Window ...
- 代码收藏系列--php--生成简短唯一订单号(转载)
代码收藏系列--php--生成简短唯一订单号 /** * 生成商家交易单号 * <br />特点:不重复 * <br />示例: * <br />普通付款:arra ...
- c# 中内部类的简单介绍 C#内部类
最近在看java一方面的书籍,看到一个很奇怪的问题,java类中还可以再定义一个类,这种结构非常特殊!后来才发现我知识浅薄了,原来C#中也有内部类,之前都一直没有注意过这个语法结构! 使用内部类有这样 ...