当前位置: 首页 > news >正文

Https配置免费SSL证书

本文目录

  • 前言
  • 一、前提
    • 1.1 服务器
    • 1.2 域名
  • 二、Certbot简介
    • 2.1 Apache服务器
    • 2.2 Nginx服务器
  • 三、自动更新证书
  • 四、效果

前言

HTTPS (全称:Hypertext Transfer Protocol Secure ),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPSHTTP 的基础下加入SSLHTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。本文基于此将实战配置线上云服务器基于Ubuntu申请免费自动化SSL证书并并指导NginxApache进行配置HTTPS
那么废话不多说,我们直接上手。

一、前提

1.1 服务器

首先这边是默认你已经准备好了一台线上服务器,直接终端运行命令ssh 用户名@公网ip输入密码,连接上如下图:
在这里插入图片描述
如果你的服务器是首次登录,你可以运行命令sudo apt update对服务器的一些包进行更新。

1.2 域名

你的服务器解析了域名并且域名已经完成了备案。


二、Certbot简介

CertBot是一个ACME代理, ACME协议是一个证书自动管理环境的协议。CertBot与Let’s Encrypt(LE)的关系是客户端与服务端的关系,两者通过ACME协议实现对证书的自动管理。我们可以利用Certbot自动化获取和更新Let’s Encrypt SSL证书。
因为我是Nginx服务器所以以Nginx服务器为例进行展示。

2.1 Apache服务器

运行命令:

sudo apt install certbot python3-certbot-apache

安装完之后使用命令如下获取证书:

sudo certbot --apache

安装完之后一般自动给你配置好了,你访问自己的网站https测试即可。也可如下手动配置:

<VirtualHost *:443>ServerName www.example.comDocumentRoot /var/www/htmlSSLEngine onSSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
</VirtualHost>

2.2 Nginx服务器

sudo apt install certbot python3-certbot-nginx

如果有碰到[y/n]打入y回车即可。
在这里插入图片描述
安装完之后使用命令如下获取证书:

sudo certbot --nginx

在执行上述命令时,Certbot会引导您完成一系列设置步骤,包括输入您的电子邮件地址和同意服务条款。Certbot还会自动配置您的Web服务器以使用新的SSL证书。
在这里插入图片描述
安装提示输入相对应字母即可。还有输入你的域名。出现如下图则成功:
在这里插入图片描述
安装完之后一般自动给你配置好了,你访问自己的网站https测试即可。也可如下手动配置:

server {listen 80;server_name www.example.com;return 301 https://$host$request_uri;
}server {listen 443 ssl;server_name www.example.com;ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;root /var/www/html;index index.html index.htm;location / {try_files $uri $uri/ =404;}
}

三、自动更新证书

Let's Encrypt颁发的SSL证书有效期为90天。为了确保证书始终保持有效,需要设置自动更新。Certbot提供了一个简单的命令来实现自动续期的功能,如下命令:
sudo certbot renew --dry-run,出现如下图,则成功。
在这里插入图片描述
接着运行命令sudo crontab -e添加到服务器的cron作业中,以确保证书定期更新。然后添加0 0 * * * /usr/bin/certbot renew --quiet这行:在这里插入图片描述
保存退出。


四、效果

在这里插入图片描述
可以看到已经是https了,并且证书有效。

在学习的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++11中的constexpr
  • Linux编程--文件IO(2)、目录
  • vllm源码解析(一):整体架构与推理代码
  • Datawhale X 李宏毅苹果书 AI夏令营 入门 Task3-机器学习框架
  • vue3实现excel文件预览和打印
  • 忆恒创源发布PBlaze7 7A40系列PCIe 5.0企业级SSD,4K随机写突破百万IOPS!
  • Spring 学习笔记
  • 神经网络训练不起来怎么办(五)| Batch Normalization
  • I2C总线
  • CSRF 概念及防护机制
  • 鸿蒙开发培训多少钱?
  • [CISCN2019 华东南赛区]Web111
  • 在Element UI的<el-table>组件中,点击子元素不触发父级事件
  • 老师怎样用微信发布月考成绩?
  • TensorFlow介绍二-线性回归案例
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • flask接收请求并推入栈
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Linux后台研发超实用命令总结
  • node 版本过低
  • Rancher如何对接Ceph-RBD块存储
  • REST架构的思考
  • spring学习第二天
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • vue 个人积累(使用工具,组件)
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 关于for循环的简单归纳
  • 基于游标的分页接口实现
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • $ git push -u origin master 推送到远程库出错
  • $.ajax,axios,fetch三种ajax请求的区别
  • ${factoryList }后面有空格不影响
  • (20050108)又读《平凡的世界》
  • (4)事件处理——(7)简单事件(Simple events)
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (二)c52学习之旅-简单了解单片机
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (排序详解之 堆排序)
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (译) 函数式 JS #1:简介
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)linux 命令大全
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .jks文件(JAVA KeyStore)
  • .NET 8 跨平台高性能边缘采集网关
  • .Net Core 生成管理员权限的应用程序