NoteZ_技术博客 NoteZ_技术博客
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)

NoteZ_技术博客

前端界的小学生
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)
  • Web技术

  • Git笔记

  • Linux文档

  • Markdown

  • Nginx文档

  • Npm笔记

  • 技术文档

  • 其他文档

    • 解决 bash_wget 未找到命令的解决办法
    • CentOS7 常见问题应对,如何升级make和gcc版本
    • CodeMirror代码编辑器实现自定义提示功能增强版(支持搜索、调用接口查询提示内容)
    • CSS 滚动条样式
    • d3 svg 基本图形绘制
    • d3.js中update,enter,exit的概念
    • dat.gui 基本使用方法
    • echarts 使用案例(demo)
    • jsplumb 中文基础教程
    • Linux服务器(centos7)使用LibreOffice将Word转换PDF文档出现中文乱码或方格解决方法
    • npm install 报错 npm ERR code UNABLE_TO_VERIFY_LEAF_SIGNATURE npm ERR errno UNABLE_TO_VERIFY_LEA 解决
    • Npm 清除缓存
    • Npm设置淘宝镜像
    • NPS内网穿透安装方法
    • ThreeJs 基础入门
    • unable to verify the first certificate 原因及解决方法
    • vue 安装node-sass报错解决方案(缺少python2.7支持)
    • windows下安装 stable-diffusion-webui 步骤
    • yarn的安装与使用
    • 关于微信支付 WeixinJSBridge.invoke 、 wx.chooseWXPay使用方法
    • 内网穿透的几款工具汇总
    • 前端使用 swd-deploy 自动化部署项目到服务器
    • 常用工具集(utils.js)
    • 开源项目大杂烩
    • 微信小程序-APP生命周期与运行机制总结
    • 微信小程序踩坑之布局适配单位(rpx、px、vw、vh)
    • 服务器常用的状态码
    • 解决google浏览器翻译无法使用的问题
    • 解决使用 Gitalk 登录授权报错的问题
    • 解决在使用 stable-diffusion-webui 时,安装 gfpgan 失败的方案(windows下的操作)
    • 通过 js 进行 shapefile 文件解析渲染方法
    • 部署脚本 deploy.sh
    • Tauri打包慢或者报错问题解决方法
    • Ubuntu和Nginx搭配Certbot配置SSL证书https访问网站
    • Centos下yum无法正常使用
    • Linux 系统下通过 Let‘s Encrypt 生成免费 https 证书的步骤
      • Mongo 风格的查询对象映射到 SQL 查询的 Node.js 库 json-sql
      • CentOS7安装与卸载anaconda3基础步骤
    • 前端开发
    • 其他文档
    NoteZ
    2024-11-18
    目录

    Linux 系统下通过 Let‘s Encrypt 生成免费 https 证书的步骤

    要在 CentOS 上使用 Certbot 的 webroot 模式获取 HTTPS 证书,你可以按照以下步骤操作:

    # 步骤 1: 安装 EPEL 仓库

    首先,确保你的 CentOS 系统已经安装了 EPEL 仓库。如果没有安装,可以使用以下命令安装 EPEL 仓库:

    sudo yum install epel-release
    
    1

    # 步骤 2: 安装 Certbot

    接下来,安装 Certbot。你可以使用以下命令来安装 Certbot:

    sudo yum install certbot
    
    1

    # 步骤 3: 准备 Webroot 目录

    Certbot 的 webroot 模式需要一个可写的目录,用于放置验证文件。这个目录通常是你的网站根目录。例如,如果你的网站内容位于 /var/www/html,那么这个目录就可以作为 webroot 目录。

    # 步骤 4: 运行 Certbot 以获取证书

    使用以下命令运行 Certbot,并选择 webroot 模式来获取证书:

    sudo certbot certonly --webroot -w /usr/local/nginx/www -d yourdomain.com -m your_email@example.com --agree-tos
    
    1
    • /usr/local/nginx/www 是你的网站根目录的路径。
    • yourdomain.com 是你想要获取证书的域名。
    • your_email@example.com 是你的电子邮件地址,用于接收证书到期通知和重要通知。
    • --agree-tos 表示你同意 Let's Encrypt 的服务条款。

    # 步骤 5: 验证证书

    在获取证书后,Certbot 会显示一条消息,告诉你证书和链文件存储的位置,通常在 /etc/letsencrypt/live/yourdomain.com/ 目录下。你可以检查这个目录,确认证书文件 fullchain.pem 和私钥文件 privkey.pem 是否存在。

    # 步骤 6: 配置 Web 服务器使用证书

    你需要配置你的 Web 服务器(如 Apache 或 Nginx)以使用新获取的证书。以下是 Nginx 的一个示例配置:

    server {
        # listen 80;
        listen 443 ssl;
    
        #SSL 默认访问端口号为 443
        listen 443 ssl; 
        listen [::]:443 ssl ipv6only=on;  # 监听 IPv6 地址上的 443 端口
    
        server_name yourdomain.com;
    
        ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
    
        ssl_session_timeout 5m;
    
        #请按照以下协议配置
        ssl_protocols TLSv1.2 TLSv1.3; 
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
        ssl_prefer_server_ciphers on;
    
        # ssl_stapling on;
        # ssl_stapling_verify on;
    
        underscores_in_headers on; #Nginx 转发时Header中信息不会丢失
    
        # location / {
        #     proxy_pass http://127.0.0.1:8080;
        # }
    
        location / {
            root   www;
            # index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36

    对于 Apache,配置可能如下:

    <VirtualHost *:443>
        ServerName yourdomain.com
        DocumentRoot "/usr/local/nginx/www"
    
        SSLEngine on
        SSLCertificateFile "/etc/letsencrypt/live/yourdomain.com/fullchain.pem"
        SSLCertificateKeyFile "/etc/letsencrypt/live/yourdomain.com/privkey.pem"
    
        # 其他配置...
    </VirtualHost>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    # 步骤 7: 重启 Web 服务器

    配置完成后,重启你的 Web 服务器以应用新配置:

    对于 Nginx:

    sudo systemctl restart nginx
    
    1

    对于 Apache:

    sudo systemctl restart httpd
    
    1

    # 步骤 8: 设置自动续期

    Certbot 安装过程中会为你设置一个定时任务(cron job),以便自动续期证书。你可以检查这个定时任务是否已经设置:

    crontab -l | grep certbot
    
    1

    如果看到相关的 cron 任务,说明自动续期已经设置好了。

    # 步骤 9: 测试 HTTPS

    在获取证书并配置 Web 服务器后,尝试使用浏览器访问你的网站,确保 HTTPS 正常工作。

    #Centos#certbot#https
    上次更新: 2024/11/18, 22:51:49
    Centos下yum无法正常使用
    Mongo 风格的查询对象映射到 SQL 查询的 Node.js 库 json-sql

    ← Centos下yum无法正常使用 Mongo 风格的查询对象映射到 SQL 查询的 Node.js 库 json-sql→

    最近更新
    01
    Gitea数据备份与还原
    03-10
    02
    Linux 中使用 rsync 同步文件目录教程
    03-10
    03
    Linux 使用 rsync 互相传输同步文件的简单步骤
    03-08
    更多文章>
    Theme by Vdoing | Copyright © 2019-2025 NoteZ,All rights reserved | 冀ICP备2021027292号-1
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式