博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速使用Let's Encrypt开启个人网站的https
阅读量:5791 次
发布时间:2019-06-18

本文共 2265 字,大约阅读时间需要 7 分钟。

背景

为什么要使用https?

  • https可以有效避免无良运营商的DNS劫持,可以显著提升网站逼格。
  • 使用https已经是大势所趋,人心所向,iOS甚至强制要求开发者使用https。

为什么要使用Let's Encrypt?

  • 对于个人开发者而言,https证书太贵,一般都好几千一年。
  • Let's Encrypt免费开源无疑是一个不错的选择。

本文将记录 (https://blog.eyeblue.cn) 搭建https的整个过程。网上有很多使用let's encrypt代码生成证书,或者使用Certbot来生成证书,但是笔者觉得都没有直接借助 来生成证书方便快捷。

获取证书

1.填写域名

打开网站 填写自己的域名,你将看到下图。这里我们填入 blog.eyeblue.cn,同时在下方勾选 Let's Encrypt,然后点击“创建免费的SSL证书”按钮即可

2.填写邮箱,选择证书类型,验证类型和CSR生成方式
  • 填写自己的邮箱
  • 证书品牌只能选择Let's Encrypt
  • 证书类型选择ECC。这里主要是选择数字签名的算法,对于普通用户使用默认的ECC即可。如果需要根据自己的具体情境来选择,一般有以下选择依据:
(1) RSA签名算法适合于:Verify操作频度高,而Sign操作频度低的应用场景。比如,分布式系统中基于capability的访问控制就是这样的一种场景。
(2) ECDSA签名算法适合于:Sign和Verify操作频度相当的应用场景。比如,点对点的安全信道建立。
  • 验证类型使用DNS的方式。
其实验证类型用来确定你是否是这个域名的所有者,确认的方式有两种:
1.DNS。 CA(Certificate Authority 数字证书认证机构)将通过查询 DNS 的 TXT 记录来确定您对该域名的所有权,因此需要在域名管理平台将生成的 TXT 记录名与记录值添加到该域名下。
2.文件。CA 将通过访问特定 URL 地址来验证您是否有改域名的所有权。因此,您需要下载给顶的验证文件,并上传到您的服务器。
  • CSR生成选择浏览器生成。一般的浏览器都支持Web Cryptography,直接使用默认的浏览器生成最方便。

下图便是我的填写,填好之后点击“点击生成”按钮。

3.进行DNS验证

3.1 在第2步中点击按钮后,会弹出下图内容:

3.2 这时只需要去域名解析控制台添加一条TXT的解析记录即可。我的域名在阿里云,因此解析详情如下图所示:
完成解析后,点击3.1中的“点击验证”按钮

4.下载证书

在点击第3步的按钮后,会弹出证书文件下载的按钮,此时点击“下载证书”即可获得证书文件full_chain.pem和私钥文件private.key

配置nginx

nginx的配置如下:

server{        # 监听443端口        listen 443 ssl;        # 域名,如果有多个空格隔开        server_name blog.eyeblue.cn;        # 启用ssl        ssl on;        # 证书文件的放置路径。证书文件即通过上文《获取证书》的方式获得。        ssl_certificate /data/security/letsencrypt/blogeyebluecn/full_chain.pem;        # 私钥文件的放置路径。        ssl_certificate_key /data/security/letsencrypt/blogeyebluecn/private.key;        # 蓝眼博客的服务运行在端口6020        location / {                proxy_pass http://127.0.0.1:6020;                proxy_set_header host $host;                proxy_set_header X-Forwarded-For $remote_addr;                proxy_pass_request_headers      on;                client_max_body_size  8m;        }}#对于通过http来访问蓝眼博客的请求,我们默认让其跳转到https. 这样保持了http访问的兼容性。server {        listen      80;        server_name    blog.eyeblue.cn;        rewrite ^(.*)$ https://blog.eyeblue.cn$1 permanent;}

修改了配置文件后记得

service nginx restart

验证

打开网页https://blog.eyeblue.cn,即可看到地址栏中绿色的小锁,证明https已经成功开启。即使你输入http://blog.eyeblue.cn也会自动转跳到https下的,如此便保证了兼容性。

维护

Let's Encrypt证书的有效期只有三个月,这就需要我们每隔一段时间就去更新一下证书,好在https://freessl.org/可以帮我们管理证书,注册登录之后便可以看到我们的证书管理界面如下:

参考文章

原文发表于蓝眼博客:

转载地址:http://aqwfx.baihongyu.com/

你可能感兴趣的文章
v$archive_gap dg dataguard 断档处理 scn恢复
查看>>
问责IT风险管理:CIO需关注两个重点
查看>>
Winform打包发布图解
查看>>
PDF文件怎么编辑,超简单的方法
查看>>
EasyUI基础入门之Easyloader(载入器)
查看>>
Uva 839 Not so Mobile
查看>>
30款超酷的HTTP 404页面未找到错误设计
查看>>
程序猿必备 MyEclipse2013-2014系列
查看>>
java中ArrayList 、LinkList区别
查看>>
Spring ’14 Wave Update: Installing Dynamics CRM on Tablets for Windows 8.1
查看>>
利用rand7()构造rand10()
查看>>
MySQL 备份与恢复
查看>>
吃午饭前,按书上的代码写会儿--Hunt the Wumpus第一个版本
查看>>
easyui中combobox的值改变onchang事件
查看>>
TEST
查看>>
威胁快报|ProtonMiner挖矿蠕虫扩大攻击面,加速传播
查看>>
PAT A1037
查看>>
ReactiveSwift源码解析(三) Signal代码的基本实现
查看>>
(六)Oracle学习笔记—— 约束
查看>>
[Oracle]如何在Oracle中设置Event
查看>>