使用Let's Encrypted HPPTS你的网站
1、前言
最近,有同事咨询我,怎么样使用Let's Encrypted部署数字证书,于是,结合自己之前的实践,简单总结下。
2、HTTPS的优势
什么加密,防篡改,防广告植入什么的,这个就不多说了。这里我只说一个我感觉最近解决我大问题的优势。之前腾讯云申请了个域名,guokun.net.cn,暂时本案流程还没走完,毕竟你知道的,国内域名备案,那叫一个繁琐。所以,假如你直接在浏览器中输入guokun.net.cn ,效果如下:
看到没有,直接被腾讯云给拦截访问了。那么假如我https://guokun.net.cn呢?
我想,腾讯云拦截域名的方式,可能跟很多网络运营商劫持植入广告的方式是一样的,所以http的流量它劫持到了,但是https没有。这个功效,只可意会,不可描述与多说。
3、配置过程
letsencrypt是一个CA,它跟什么沃通啊,微软啊这些证书认证机构都是一样的,用于给站点颁发证书,无非就是letsencrypt的证书免费。我们使用letsencrypt来获取证书,那自然就需要letsencrypt的客户端。官方推荐certbot,那这里我也就使用它了。
由于我的服务器是centos,而Certbot默认不在官方仓库中,而在附加库EPEL 中,所以首先得启用并配置此仓库。命令如下:
$ yum -y install yum-utils
$ yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
然后,就可以开始安装Certbot,我用web服务器是Nginx,所以这里也以Nginx为例:
$ sudo yum install python2-certbot-nginx
之后,就可以下载证书了:
$ sudo certbot --nginx
这个命令执行过程中,会询问你需要部署证书的域名,按照自己需要输入就可以了。
以guokun.net.cn为例,我的证书整好之后,就放在下图中这个位置:
接下来,配置站点采用这个证书。在对应Nginx配置文件中,增加如下配置:
然后,重载Nginx,就可以了。
4、参考文献
https://certbot.eff.org/lets-encrypt/centosrhel7-nginx
- 编写地道的Go代码
- 开发你不能忽略的问题?JavaScript(JS)
- 厚土Go学习笔记 | 36. web服务指定路径下的get参数接收与处理
- 用R进行文本分析初探——包含导入词库和和导入李白语句
- Golang事务模型
- 厚土Go学习笔记 | 35. web服务器实现动态路径
- 过滤器Filter精华知识点,怎能不看
- JavaMail开发示例,学习要看对资料
- 厚土Go学习笔记 | 34. 一个简单的 web 服务器实现
- sqlplus / as sysdba无法登录的奇怪报错 (r8笔记第36天)
- JSP与EL表达式重点学习笔记(1)
- R语言读CSV、txt文件方式以及read.table read.csv 和readr(大数据读取包)
- JSP与EL表达式重点学习笔记(2)
- Node.js真的无所不能?那些不适用的应用领域分析
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 踩坑记 | Flutter升级影响了NestedScrollView?
- Android | xml和view的那些事
- Android | 资源冲突覆盖的一些思考
- 如何用脚本自动转化,一个protobuf文件到json格式
- 聊聊dubbo-go的forkingCluster
- 还在用 map[string]interface{} 处理 JSON?告诉你一个更高效的方法——jsonvalue
- 聊聊dubbo-go的failsafeCluster
- 【HDFS】distcp报错Check0sum mismatch
- ffmpeg转换多媒体文件,真香
- 静态库与动态库的那些事
- 云服务器网络延迟与丢包问题定位(mtr工具)
- Spark UDF1 输入复杂结构
- Qt音视频开发6-ffmpeg解码处理
- MySQL 百万级数据量分页查询方法及其优化
- 教你设计一个超牛逼的本地缓存!