从http到https你可以这样做

前言

为什么需要将 http 升级到 https ?最直接的原因就是拓展微信小程序需要。

方式有很多,我们这次要说的是 Certbot,那么开始吧!

准备环境

我们假设是在以下环境中使用 Certbot 的:

  • Ubuntu 20.04
  • Nginx

我们使用的 Linux 发行版是 Ubuntu ,服务器上使用 Nginx。

安装

打开官网

image.png

选择版本

image.png

安装snapd

我们来了解几个概念:

  1. Snap是最初由Canonical设计和开发的软件包管理/软件部署工具,简而言之,Snaps是使用库和依赖项编译的应用程序。
  2. Snapd是一个REST API守护程序服务,它在Linux系统上运行以管理snap程序包(“snaps”),你通过客户端应用程序与Snapd交互 - snap,它与snap store交互以在你的系统上下载和安装Snaps。
  3. Snaps的优势:Snaps安装速度更快,更易于创建,运行更安全,并且可以自动和事务性更新,因此你的应用程序始终是最新的。Snaps可用于所有主要的Linux发行版,包括Ubuntu、Linux Mint、Debian、Fedora和Arch。

好了,相信你对snap和snapd的关系有了一定的了解,接下来正式安装snapd软件包:

# 更新包管理器到最新
sudo apt update
# 安装snapd
sudo apt install -y snapd
# 确保snpd是最新的
sudo snap install core; sudo snap refresh core

最后一步前的操作

因为我们是用过snapd来安装Certbot,所以应该删除使用apt、dnf或yum等操作系统包管理器安装的 Certbot 包 。

sudo yum remove certbot。

安装

sudo snap install --classic certbot
# 执行此命令来确保certbot命令可以运行。
sudo ln -s /snap/bin/certbot /usr/bin/certbot

升级https

# 获取https证书并自动编辑nginx配置
sudo certbot --nginx
# 仅生成https证书
sudo certbot certonly --nginx

测试自动续订

sudo certbot renew --dry-run

结束语

总体来讲,我觉得certbot安装起来比较简单,之前也用过一些其他的方式,比如阿里云的免费证书,宝塔面板的证书等等,综合下来最后选择了certbot。

本作品采用《CC 协议》,转载必须注明作者和本文链接
空舟湖上~      ——Jouzeyu
lochpure
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 4

acme.sh 也不错

2年前 评论

Certbot的确很香,以前用过,是一个月还是三个月的免费期,到期要续签,弄个定时脚本,每天看一下状态,到期就续签,不到期就不管;服务器上阿里云也有开启https,宝塔也可以申请免费的。

2年前 评论
MArtian 2年前
lochpure

sudo certbot --nginx --nginx-server-root=/usr/local/nginx/conf

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!