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

玩机日记 15 使用Lucky申请半永久的ssl证书,并且替换阿里云的自签名证书

我们之前申请的阿里云自签名证书有两个缺点:

  • 不支持泛域名(*.你的.域名)
  • 3个月就会过期。

既然用上了Lucky,

​​​​​​玩机日记 12 fnOS使用lucky反代https转发到外网提供服务-CSDN博客

就用Lucky申请一个半永久不会过期(过期前自动重新申请)并且支持泛域名的证书吧。

1、Lucky支持验证的域名(以阿里云为例)

域名验证

颁发机构选择lets encrtpt

验证方式就选择你的域名注册商,按照提示操作,比如阿里云要先创建accesskey并填入。域名列表就填 *.你的.域名 (例如*. baidu.com)

保存到本地

打开证书映射,添加一个保存路径

自动生成pkcs#12证书

这样申请的证书是没有.pfx/.p12格式的。所以我们要写个脚本自动生成

创建密码文件
#创建证书密码,在双引号中输入你想创建的密码
#放在用来保存证书的文件夹内
echo "创建一个密码" > pfx-password.txt

密码可以是数字(0-9)、大小写字母(a-z, A-Z)以及其他特殊字符(如 @, #, &, ! 等)组成。

创建自动生成脚本
nano /usr/local/bin/generate_pfx.sh

输入以下内容

#!/bin/bash

# 检查是否提供了文件夹路径
if [ -z "$1" ]; then
  echo "请提供包含证书和私钥文件的文件夹路径。"
  exit 1
fi

# 进入指定的文件夹
cd "$1" || exit

# 自动检测域名(假设证书文件名包含域名)
domain=$(ls *.pem | sed 's/\.pem$//')

# 检查是否找到了证书文件
if [ -z "$domain" ]; then
  echo "未找到证书文件。"
  exit 1
fi

# 提取PFX密码
PFX_PASSWORD=$(cat "./pfx-password.txt")
if [ -z "$PFX_PASSWORD" ]; then
    echo "密码文件为空,无法生成PFX文件"
    exit 1
fi

# 生成 .pfx 文件
openssl pkcs12 -export -out "${domain}.pfx" -inkey "${domain}.key" -in "${domain}.crt" -certfile "${domain}_issuerCertificate.crt" -password "pass:$PFX_PASSWORD"

echo "已生成 ${domain}.pfx 文件。"


#添加可执行权限
chmod +x /usr/local/bin/generate_pfx.sh

#使用方法
generate_pfx.sh <证书所在的文件夹>

将脚本添加到证书变化后的脚本,点击添加

这样就申请成功了

PKCS#12证书也成功创建了

2、Lucky默认不支持验证的域名(以贝锐花生壳为例)

修改DNS

对于默认不支持验证的域名,我们可以暂时把它添加到支持验证的注册商(比如阿里云),然后使用添加的注册商进行验证。验证完再把注册商改回去。

添加到阿里云:云解析 DNS

我这里添加了一个贝锐花生壳的域名,它提示要修改dns

来到贝锐的域名管理平台,点击域名

域名管理-域名列表

把dns修改成阿里云的

回到阿里云,刷新网页

验证申请证书

已经成功把贝锐花生壳的域名添加到阿里云了。接下来参考

1、Lucky支持验证的域名(以阿里云为例)

进行操作即可。

可以看到创建成功了

之后可以把贝锐的dns改回去。

当然,如果你不用花生壳的ddns或者url解析功能的话,也可以不改回去,直接改用阿里云来做域名解析也可以的。

等证书还有一个月过期的时候,要再把贝锐的dns改成阿里云,然后进lucky手动续签一下。

3、替换现有的证书

fnOS

fnos不支持指定证书路径,所以如果要配合lucky自动更新证书的话,就只能使用lucky进行反代

修改https端口

我们之前把路由器wan1024-65535的端口都转发到了fnos。所以这里只要把https端口改成一个比1024小的数,就可以阻止公网访问fnos提供的https服务了

注意,不可以勾选强制https连接!

使用lucky反代

qBittorrent

Jellyfin

AList
nano /vol1/@appdata/alist3/config.json

Proxmox VE

pve也不支持自定义证书路径,所以我们先把之前上传的证书删除了,再通过lucky反代

删除证书

修改端口转发

直接禁用旧的规则即可。因为我们在下面配置了1024-65535都会转发给fnos,禁用pve转发规则后,8006端口也在1024-65535的范围内,就会一块被转发给fnos了。

使用lucky的web服务反代(错误示范)

不可以这样添加端口转发!

会导致重定向循环

这似乎是lucky+pve转发特有的bug,我们需要使用目标地址Host请求头才能正确访问

正确做法

删除上面创建的转发规则。

转到web服务,点击添加web服务规则

如图,点击添加

点击添加子规则,要勾选使用目标地址host请求头

再次访问就没有问题了


http://www.kler.cn/a/563592.html

相关文章:

  • 集合与反射
  • 算法平台的开源框架
  • PDF处理控件Aspose.PDF教程:使用 Python 将 PDF 转换为 TIFF
  • 网页五子棋——项目测试
  • HarmonyOS Design 介绍
  • 基于ffmpeg+openGL ES实现的视频编辑工具-添加背景音乐(十)
  • vue+element-dialog:修改关闭icon / 遮罩层不能挡住弹窗 / 遮罩层不能遮挡元素
  • miqiu的分布式(三):JVM本地锁失效的三大典型场景
  • Java集合设计模式面试题
  • 5 分钟用满血 DeepSeek R1 搭建个人 AI 知识库(含本地部署)
  • 十一、大数据治理平台总体功能架构
  • leetcode 541. 反转字符串 II 简单
  • Document对象
  • docker 安装 seafile 企业云盘
  • flask 是如何分发请求的?
  • PHP-create_function
  • 【linux配置】 修改内核网络参数
  • Unity基础——世界坐标系(Global)和本地坐标系(Local)
  • 安装react报错
  • 003 SpringBoot集成Kafka操作