浏览器保存插件
【转帖】主流显卡H265、VP9硬件解码支持情况 - 知乎
Caddy – 方便够用的 HTTPS server 新手教程_weixin_34279184的博客-CSDN博客
亂數假文產生器 - Chinese Lorem Ipsum
Caddy实战- CSDN搜索
【如何优雅地写博客】利用h5ai自建一个视频床!
【如何优雅地写博客】自建一个永不裂开的图床!
小爱同学网络唤醒(Wake on Lan,WOL)启动电脑 - 知乎
安全的内网穿透保姆级教程,使用nginx反向代理给内网设备实现双向ssl认证,阻止无证书用户暴力破解nas|网卡|主机|内网穿透_新浪新闻
解决BCM94360CD 4天线,在windows10下蓝牙耳机断断续续问题
内网穿透 篇三:安全的内网穿透保姆级教程,使用nginx反向代理给内网设备实现双向ssl认证,阻止无证书用户暴力破解nas_NAS存储_什么值得买
5分钟了解游戏加速器的原理与搭建 - 知乎
解决BCM94360CD 4天线,在windows10下蓝牙耳机断断续续问题 | 粘贴怪
# PS2 重装机兵 沙尘之锁攻略
前线任务4攻略上
前线任务4攻略下
前线任务4系统详解
前线任务5详细流程攻略
Potplayer + LAVFilters + madVR 配置教程
linux 启动服务后台运行,linux后台启动任务
openwrt管理后台使用caddy代替uhttpd
编译caddy替代openwrt的uhttpd
如何获取Bing每日图片并作为网站背景图使用?
Bing每日壁纸API
一分钟自建zerotier-plant
zerotier的planet服务器(根服务器)的搭建踩坑记。无需zerotier官网账号
anylink
在 Linux 系统下使用迅雷远程离线下载
docker修改Docker容器启动配置参数
opkg 全部更新
甲骨文云 开户root,防火墙
UNRAID增加和缩小虚拟机虚拟磁盘大小
cm311-1a有2个IP的原因
榨干性能!魔百和CM311-1a KVM Openwrt& Docker安装以及Tailscale内网穿透保姆级教程_NAS存储_什么值得买
openwrt tailscale
UNRAID增加和缩小虚拟机虚拟磁盘大小
详解OpenWrt路由器设置Crontab定时检查网络并重启
Debian如何更换apt源
debian11 配置samba服务 linuxsys
debian11 配置samba服务
Debian 部署安装 Clash
防止甲骨文永久免费的计算实例被回收
怎么查看docker启动参数
Docker中Jellyfin开启硬件加速(Intel QuickSync)
Ext4文件系统修复
armbian显示系统信息的脚本-斐讯无线路由器以及其它斐迅网络设备-恩山无线论坛 - Powered by Discuz!
armbian显示系统信息的脚本
Linux 让终端走代理的几种方法
网站推荐
通过KMS方式激活 Windows 11 系统
各种显卡H265/HEVC/VP9/AV1格式4K和8K视频硬解码支持列表
unraid安装clash 及启用http代理_NAS存储_什么值得买
常见软路由/NAS/低功耗处理器对比 2020.12
1130-白嫖者联盟
Debian-Linux配置网卡网络方法
光猫桥接模式下,通过路由器访问光猫.简单设置
Docker一键脚本安装脚本(可选安装Docker Compose)
tgapi推送教程
UNRAID 使用自定义证书教程
只有 3MB 的自签名证书制作 Docker 工具镜像:Certs Maker
如何制作和使用自签名证书
通过Nginx Proxy Manager反代访问unraid管理页面
unRAID 篇十:unRAID 6.10.3远程管理并开启SSL访问_软件应用_什么值得买
unRAID 篇十一:unRAID 篇十:unRAID 6.10.3远程管理并开启SSL访问-填坑_软件应用_什么值得买
入正 Unraid ! 6.10 更新了什么?证书如何配置?
NAS那些事儿 篇一:纯IPV4访问纯IPV6且内网穿透_NAS存储_什么值得买
甲骨文Oracle取消强制修改密码
用uci配置openwrt防火墙
捡垃圾 篇八:花30元实现你的平价sonos——音响升级DLAN和Airplay,附上平价音响推荐_蓝牙音箱_什么值得买
3 分钟教你解锁 Sonos 和小爱等智能音箱的 AirPlay 功能_软件
CentOS7、ubuntu正确挂载网络磁盘方法
全网首发,没有比这更快的视频下载方法!
黑苹果硬件配置推荐,铭瑄MS-挑战者 H510ITX主板,安装真的很简单
黑苹果硬件配置推荐,铭瑄MS-挑战者H510ITX主板,安装真的很简单
openwrt 一键更新所有软件 opkg upgrade all packages
黑猴子的家:华为 OpenEuler(欧拉) Linux 之基本配置 - openEuler-20.03-LTS
免费翻墙,批量vless节点,反代伪装网页,轻松跑满本地宽带
小米(Mi) 6小米(Mi) 6 手机刷 TWRP 方法,刷三方Recovery方法(解决卡米问题)刷机解锁
debian12版本默认SSH不让ROOT账户远程登录解决方案(重置密码)
Debian安装Oh-my-zsh
【转发】zsh中 配置显示完整路径
如何在Linux系统中查看CPU温度
Fedora 启动 SSH服务 - 学海无涯1999 - 博客园
Bash命令行显示当前用户的完整路径
使用YUM安装docker
Linux 中的 ls 命令使用教程
Linux系统资源监控工具(top,htop,glances)
UNraid安装HomeAssistant与智能家庭部署_智能家居_什么值得买
Home Assistant如何安装配置HACS(hacs安装配置图文教程)
Homeassistant安装HACS_china(HACS)和ha_file_explorer(文件管理器) - kccic - 博客园
zsh 环境变量无法正常工作ShellClash
LInux远程文件传输效率工具:lrzsz
Windows 上的 Linux 子系统:WSL
Docker 无法启动 Failed to start LSB: Create lightweight, portable, self-sufficient containers.
一键安装docker(命令)
xiaoya全家桶系列教程:原版小雅、alist-tvbox、小雅-emby
Oracle OCI甲骨文云VPS启用原生IPv6
systemctl配置管理文件详解
Linux系统服务神器:systemctl的配置与使用 - 掘金
使用 oh-my-zsh 找不到 shellclash
ps2022总是提示需要访问钥匙串秘钥怎么解决?
在 macOS 中使用 Parallels Desktop 虚拟机安装 OpenWrt | Sukka's Blog
HP t430 Q&A
折腾 HP T430 Thin Client
惠普HP t430安装openwrt,配置旁路由,附跑分
联通GPON/4+1+WiFi(2.4G)TEWA-800G配置桥接模式
Ubuntu挂载Apfs文件系统磁盘(OSX分区) - 小家猫 - 博客园
unRAID虚拟机添加声卡_unraid虚拟机安装虚拟声卡-CSDN博客
docker 限制网速
jellyfin 代理
使用Cloudflare Worker代理Telegram Bot Api(2023.05)
Cloudflare + Backblaze私有桶 实现免费的图床 | king
MacOS 14 Sonoma 英特无线网卡无法检测更新及在线升级失败解决方案 - 黑果之家
惠普HP t430安装openwrt,配置旁路由,
小雅Alist定时清理缓存 - xyztank - 博客园
Unraid中安装小雅Alist、Emby全家桶
(图文)jellyfin如何重置账户密码的详细教程
【2023-10-24】【R4S】 (RK3399) jellyfin 硬解4K H.265 视频-OPENWRT专版-恩山无线论坛
从已运行容器获取docker run参数
armbian 一键换源
dts — rk3399.dtsi
samba搭建记录
docker限制容器下载速度
好好学Docker:Docker容器网络限速
记录一次Unraid开心版升级 | 一个无人问津的小站
manjaro软件包管理器pacman介绍,并于centOS7yum类比
当Mac文件被永久锁定后,如:hosts文件无法修改被锁定且无法解锁
switch《塞尔达传说王国之泪》1.21含60帧多功能mod
命令提示符、Powershell、CMD闪退问题的解决
批量更新 OpenWRT 软件包
ROS7.8 L6授权 MikroTik_RouterOS7.8 _UEFI_ESXI+PVE+unRaid_i225_i226
联通吉比特TEWA-800G超级管理员密码获取
systemd时代的/etc/fstab - Systemd系列文章
armbian插入磁盘自动挂载及docker安装
开发板linux自动挂载U盘和SD卡/Automount usb disk and sdcard on the linux
udev自动挂载和命名
使用Cloudflare Worker代理Telegram Bot Api
RK3588在Armbian上运行PIKVM
穷人的IP-KVM远程访问
禁用Intel ME
sunshine 基地版串流食用指南
Docker版本的Transmission更换webui为 transmission-web-control
WOL 网络唤醒避坑指南:常见问题的分析与内容补充_软件应用_什么值得买
Win11 设置 Syncthing 开机自启动
imlala/ubuntu-xfce-vnc-novnc
NAS用户必备!170 多个好玩的,好用的docker容器_NAS存储_什么值得买
通过Redroid搭建自己的云手机
基于 Telegraph 的免费图床 - 摸鱼派 - 白与画科技
Webmin--一个用于Linux基于Web的系统管理工具
CMWTAT_Digital_Edition/README.zh.md at master · TGSAN/CMWTAT_Digital_Edition
❤️🔥电视盒子助手Docker版使用摘要-悟空的日常
Update LineageOS on Xiaomi Mi 6
一加七Pro刷lineageos21(kernelsu+gapps)
Install LineageOS on Xiaomi Mi 6
Android刷機常見的GApps套件 (Google服務框架) 比較,OpenGApps、NikGApps、MindTheGApps、microG · Ivon的部落格
r08 armbian固件喇叭播放 - LaJiLao.Top
Docker 命令大全 | 菜鸟教程
本文档使用 MrDoc 发布
-
+
首页
只有 3MB 的自签名证书制作 Docker 工具镜像:Certs Maker
本篇文章介绍一个小巧的 SSL 证书生成工具,考虑到跨平台运行,我将它构建成了 Docker 工具镜像,镜像尺寸只有 3MB 左右,还没有一张手机拍出来的照片大,应该算比较轻量了。 你可以使用它简单快速的生成包含多个域名的自签名证书,用在生产或者开发环境中。 ## **关于项目** 这个工具的完整实现代码,我上传到了 GitHub:[https://github.com/soulteary/certs-maker](https://link.zhihu.com/?target=https%3A//github.com/soulteary/certs-maker),相较两年前 1.x 版本中,我使用 Node.js 实现,在当前 2.x 新版本中,我选择使用 Go 进行替代实现。 在保持原有功能的前提下,Docker 镜像尺寸从 40多MB 骤降到了 3MB+;原本使用手动构建的镜像,也切换到了使用 GitHub Actions 自动构建,构建产物更加干净透明,“零添加、零污染”,用着更为放心。 ## **快速上手** 如果你本地已经安装好 Docker 或者 ctr(`containerd`),可以直接使用下面这条命令快速生成包含(`*.lab.com` 和 `*.data.lab.com`)两个不同域名的证书: ```bash docker run --rm -it -v `pwd`/ssl:/ssl soulteary/certs-maker "--CERT_DNS=lab.com,*.lab.com,*.data.lab.com" ``` 在命令执行完毕之后,我们查看执行命令的目录,将能够看到创建了一个名为 `ssl` 的目录,里面包含了证书生成配置,以及我们可以直接使用的证书文件: ```bash ssl ├── lab.com.conf ├── lab.com.crt └── lab.com.key ``` 在去年年初,我分享过如何《**[如何制作和使用自签名证书\[1\]](https://link.zhihu.com/?target=https%3A//soulteary.com/2021/02/06/how-to-make-and-use-a-self-signed-certificate.html)**》,文章中分享了如何使用 OpenSSL 和自制的证书生成工具来生成自签名的证书。以及聊过了如何在各种系统、常见的 Java 应用中导入我们的生成的证书,有需要的同学可以自行前往了解,这里就不过多展开了。 当然,有的同学会更喜欢使用声明式的“配置文件”,这样做更利于使用 Git 等 CVS 的方式进行保存,便于长期进行生成内容和配置的管理。我们可以考虑使用一个简单的 `compose` 编排文件来进行证书生成: ```yaml version: '2' services: certs-maker: image: soulteary/certs-maker environment: - CERT_DNS=lab.com,*.lab.com,*.data.lab.com volumes: - ./ssl:/ssl ``` 将上面的内容保存为 `docker-compose.yml`,然后执行 `docker-compose up` 即可。当命令执行完毕,同样的,我们将能够在当前目录中看到生成好的证书文件和证书配置。 ## **详细定制证书信息** 如果你是实用主义者,上面的方案已经能够解决我们在特殊场景或本地开发时的证书签名需求了。 但是,通过上面方式生成的证书文件,使用的信息是程序的默认信息。  使用默认配置生成的证书基础信息 如果你是细节控,可以通过调整下面的参数来变更生成证书的相关信息。 ### **调整生成的命令行参数** 假如我们使用 `docker run` 这种 CLI 的方式来生成证书,那么可以在参数中继续添加新的参数来调整证书的生成配置: ```bash docker run --rm -it -v `pwd`/ssl:/ssl soulteary/certs-maker "--CERT_DNS=lab.com,*.lab.com,*.data.lab.com" "--CERT_CN=SOULTEARY" ``` 再次查看生成证书信息,就能够看到信息已经发生了变化。  添加一个参数后生成证书的信息 工具支持的完整参数列表如下,可以根据自己的需求来选择使用: <table><tbody><tr><td>类型</td><td>名称</td><td>如何在环境变量中使用</td></tr><tr><td>Country Name</td><td>CERT_C</td><td>--CERT_C=CN</td></tr><tr><td>State Or Province Name</td><td>CERT_ST</td><td>--CERT_ST=BJ</td></tr><tr><td>Locality Name</td><td>CERT_L</td><td>--CERT_L=HD</td></tr><tr><td>Organization Name</td><td>CERT_O</td><td>--CERT_O=Lab</td></tr><tr><td>Organizational Unit Name</td><td>CERT_OU</td><td>--CERT_OU=Dev</td></tr><tr><td>Common Name</td><td>CERT_CN</td><td>--CERT_CN=Hello World</td></tr><tr><td>Domains</td><td>CERT_DNS</td><td>--CERT_DNS=lab.com,*.lab.com,*.<a href="https://link.zhihu.com/?target=http%3A//data.lab.com" class=" external"><span class="invisible">http://</span><span class="visible">data.lab.com</span><span class="invisible"></span></a></td></tr><tr><td>Issue for K8s</td><td>FOR_K8S</td><td>--FOR_K8S=ON</td></tr></tbody></table> ### **通过调整环境变量** 除了使用命令行参数之外,我们还能够通过改变环境变量来调整生成证书的结果。 比如在上文中的 `docker-compose.yml` 中,我们想调整城市展示为 `TY`,组织名称为 `Home Lab`,那么可以这样调整配置: ```yaml version: '2' services: certs-maker: image: soulteary/certs-maker environment: - CERT_DNS=lab.com,*.lab.com,*.data.lab.com - CERT_ST=TY - CERT_O=Home Lab volumes: - ./ssl:/ssl ``` 完整的环境变量和上文中的参数列表一致,使用起来更简单一些,在使用的时候,我们不需要添加 `--CERT_C=CN` 参数开头的 “`--`”,直接使用参数 `CERT_C=CN` 即可。 <table><tbody><tr><td>类型</td><td>名称</td><td>如何在环境变量中使用</td></tr><tr><td>Country Name</td><td>CERT_C</td><td>CERT_C=CN</td></tr><tr><td>State Or Province Name</td><td>CERT_ST</td><td>CERT_ST=BJ</td></tr><tr><td>Locality Name</td><td>CERT_L</td><td>CERT_L=HD</td></tr><tr><td>Organization Name</td><td>CERT_O</td><td>CERT_O=Lab</td></tr><tr><td>Organizational Unit Name</td><td>CERT_OU</td><td>CERT_OU=Dev</td></tr><tr><td>Common Name</td><td>CERT_CN</td><td>CERT_CN=Hello World</td></tr><tr><td>Domains</td><td>CERT_DNS</td><td>CERT_DNS=lab.com,*.lab.com,*.<a href="https://link.zhihu.com/?target=http%3A//data.lab.com" class=" external"><span class="invisible">http://</span><span class="visible">data.lab.com</span><span class="invisible"></span></a></td></tr><tr><td>Issue for K8s</td><td>FOR_K8S</td><td>FOR_K8S=ON</td></tr></tbody></table> ## **生成 K8s 友好的证书配置** 在上一篇文章《**[轻量高可用的 K8s 集群搭建方案:MicroK8s\[2\]](https://link.zhihu.com/?target=https%3A//soulteary.com/2022/10/15/lightweight-and-highly-available-k8s-cluster-construction-solution-microk8s.html%23%25E8%25A7%25A3%25E5%2586%25B3-k8s-dashboard-%25E8%25AF%2581%25E4%25B9%25A6%25E9%2597%25AE%25E9%25A2%2598)**》中,我们在解决 K8s Dashboard 证书问题的时候,有提过可以通过添加 `FOR_K8S=ON` 参数来生成证书。 如果你参考上文生成的证书是为了 K8s 的 Dashboard 使用,可以参考上文使用配置的方式添加这个参数。 ## **最后** 这篇文章就先写到这里了。在后续的实战的内容中,我们会有比较多的场景使用到证书,而自签名证书无疑就是最简单、成本最低、比较安全的方案之一啦。 \--EOF **引用链接** `[1]` 如何制作和使用自签名证书: _[https://soulteary.com/2021/02/06/how-to-make-and-use-a-self-signed-certificate.html](https://link.zhihu.com/?target=https%3A//soulteary.com/2021/02/06/how-to-make-and-use-a-self-signed-certificate.html)_ `[2]` 轻量高可用的 K8s 集群搭建方案:MicroK8s: _[https://soulteary.com/2022/10/15/lightweight-and-highly-available-k8s-cluster-construction-solution-microk8s.html#%E8%A7%A3%E5%86%B3-k8s-dashboard-%E8%AF%81%E4%B9%A6%E9%97%AE%E9%A2%98](https://link.zhihu.com/?target=https%3A//soulteary.com/2022/10/15/lightweight-and-highly-available-k8s-cluster-construction-solution-microk8s.html%23%25E8%25A7%25A3%25E5%2586%25B3-k8s-dashboard-%25E8%25AF%2581%25E4%25B9%25A6%25E9%2597%25AE%25E9%25A2%2598)_ 如果你觉得内容还算实用,欢迎点赞分享给你的朋友,在此谢过。 如果你想更快的看到后续内容的更新,请戳 **“点赞”、“分享”、“喜欢”** ,这些免费的鼓励将会影响后续有关内容的更新速度。 此外,我们有一个小小的折腾群,里面聚集了一些喜欢折腾的小伙伴。 在不发广告的情况下,我们在里面会一起聊聊软硬件、HomeLab、编程上的一些问题,也会在群里不定期的分享一些技术沙龙的资料。 喜欢折腾的小伙伴,欢迎阅读下面的内容,扫码添加好友。 [](https://zhuanlan.zhihu.com/p/557928933) **添加好友,请备注实名和公司或学校、注明来源和目的,否则不会通过审核。** [](https://zhuanlan.zhihu.com/p/56159997) 本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0) 本文作者: 苏洋 创建时间: 2022年10月22日 统计字数: 3543字 阅读时间: 8分钟阅读 本文链接: [https://soulteary.com/2022/10/22/make-docker-tools-image-with-only-3md-self-signed-certificate-certs-maker.html](https://link.zhihu.com/?target=https%3A//soulteary.com/2022/10/22/make-docker-tools-image-with-only-3md-self-signed-certificate-certs-maker.html)
bigood
2023年3月31日 10:01
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码