使用 Certbot 配置 HTTPS,让你的网站不再裸奔

简介: 使用 Certbot 配置 HTTPS,让你的网站不再裸奔

今天分享一个非常给力的 SSL 证书生成网站,从此 HTTPS 不再是难事儿!

Certbot

不错,今天的主角就是给力的 Certbot,免费好用,真是我等 diaosi 的一大福音。

我们先打开其官网,整体浏览下

https://certbot.eff.org/lets-encrypt/centos6-nginx

我们可以看到,想使用 Certbot,需要一些条件

  1. 需要一个命令行服务器,一般就是 linux了。我这里使用的是 CentOS6。
  2. 我们需要已经部署了一个 http 服务,80 端口是监听状态的,我使用的是 Nginx 代理。
  3. 有执行 root 权限的用户。

具体安装

在使用官网上的安装步骤前,我们要先有 Nginx,并且已经成功启动,当然也要有绑定了公网 IP 的域名,因为 SSL 证书都是要绑定到具体域名的。

公网 IP,域名申请,Nginx 安装等,就不说啦,我们现在来看一下我这里 Nginx 的简单配置。

server {
    listen       443;
    server_name  www.kungfuworld.top;
    ssl on;
    root        /home/KungFuWorld/      ;
    access_log  /home/log/access.log;
    error_log   /home/log/error.log;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_pass       http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        index  index.html index.htm;
    }
}
server {
    listen 80;
    server_name kungfuworld.top;
    rewrite ^(.*)$ https://$host$1 permanent;
    }

我配置的域名是 www.kungfuworld.top,后面在执行 Certbot 安装时,会自动扫描到这里配置的域名,从而根据这个域名来生成证书。

下面,就是一步步的按照官网的步骤来操作就好了

安装 Certbot

wget https://dl.eff.org/certbot-auto
sudo mv certbot-auto /usr/local/bin/certbot-auto
sudo chown root /usr/local/bin/certbot-auto
sudo chmod 0755 /usr/local/bin/certbot-auto

生成证书

sudo /usr/local/bin/certbot-auto certonly --nginx

中间会有一些需要用户交互的步骤,按照提示操作就好

配置 Nginx

ssl_certificate /etc/letsencrypt/live/kungfuworld.top/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/kungfuworld.top/privkey.pem;

在刚刚的 Nginx 配置文件中,增加上面的两条配置,就完成了证书的配置。

如果不出意外,该域名的 HTTPS 就可以访问了,而且是浏览器信任的证书。

自动更新

使用 Certbot 安装的证书,只有 90 天的有效期,还好其提供了方便的自动更新功能

/usr/local/bin/certbot-auto renew

我们可以创建一个 crontab 任务,来自动更新

0 4 */80 * * /usr/local/bin/certbot-auto renew &>> /dev/null

每隔 80 天在凌晨 4 点执行一次 renew 操作

至此,基于 Certbot 的 HTTPS 配置就完成了。

相关文章
|
2月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
609 1
|
6月前
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
709 87
|
1月前
|
网络安全 开发工具 git
在GitLab CI中同步HTTPS仓库地址的yaml配置
最后,提交并推送 `.gitlab-ci.yml`文件到您的GitLab仓库。GitLab CI/CD将自动识别这个文件,并在每次推送到 `master`分支时执行定义的同步任务。
142 16
|
6月前
|
网络安全 开发者
如何解决HTTPS协议在WordPress升级后对网站不兼容的问题
以上就是解决WordPress升级后HTTPS协议对网站的不兼容问题的方法。希望能把这个棘手的问题看成是学校的管理问题一样来应对,将复杂的技术问题变得更加有趣和形象,并寻觅出解决问题的方式。希望你的网站能在新的学期得到更好的发展!
173 19
|
12月前
|
安全 应用服务中间件 Linux
判断一个网站是否使用HTTPS协议
判断一个网站是否使用HTTPS协议
1988 4
|
12月前
|
存储 安全 搜索推荐
应该使用HTTPS的一些网站
应该使用HTTPS的一些网站
559 3
|
12月前
|
安全 网络协议 网络安全
怎么给ip地址配置https访问
为了配置公网IP地址的HTTPS访问,首先需明确需求并选择受信任的证书颁发机构(如JoySSL)。接着,在JoySSL官网注册并登录,填写特定注册码230922以获取免费IP证书的测试权限。提交证书申请时,填写IP地址及相关验证信息,并完成IP地址验证。验证通过后,下载证书文件。最后,使用浏览器访问IP地址,检查安全连接标志,确保无证书错误。通过以上步骤,可成功配置IP地址的HTTPS访问,提升数据传输安全性和可信度。
|
安全 数据建模 应用服务中间件
HTTPS配置全记录
HTTPS配置全记录 环境 常见的部署环境和条件有以下几种情况组合: Apache+自签名证书 Apache+免费或商业证书 Nginx+自签名证书 Nginx+免费或商业证书 免费证书和商业证书本质上是一样的,都是可以被系统承认的证书,只是申请方式不同而已。
2801 0
|
6月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
187 18
|
6月前
|
JSON 安全 网络协议
HTTP/HTTPS协议(请求响应模型、状态码)
本文简要介绍了HTTP与HTTPS协议的基础知识。HTTP是一种无状态的超文本传输协议,基于TCP/IP,常用80端口,通过请求-响应模型实现客户端与服务器间的通信;HTTPS为HTTP的安全版本,基于SSL/TLS加密技术,使用443端口,确保数据传输的安全性。文中还详细描述了HTTP请求方法(如GET、POST)、请求与响应头字段、状态码分类及意义,并对比了两者在请求-响应模型中的安全性差异。
597 20