记一次局域网内.lan域名的证书自签名并挂载到Ingress

388 字
2 分钟
记一次局域网内.lan域名的证书自签名并挂载到Ingress

前言#

在Authentik的折腾中由于我们没有https导致passkey无法使用

并且想使用passkey必须要可用的证书 Chrome提示什么不安全的连接即使有https也是无法使用的

所以我们需要给.lan域名签一个证书并信任他

开始折腾#

妈的傻逼ChatGPT 让我给*.lan域名去签名

根本用不了

这里要注意的点就是域名只能签诸如*.k8s.lan这样的通配符

以下命令在Master节点上执行就好

Terminal window
openssl genpkey -algorithm RSA -out private.key
openssl req -new -key private.key -out csr.csr

新建一个san.cnf文件 写上如下内容

[req]
req_extensions = v3_req
distinguished_name = req_distinguished_name
[req_distinguished_name]
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.1 = *.k8s.lan
DNS.2 = www.example.com

然后保存继续输入

Terminal window
openssl x509 -req -in csr.csr -signkey private.key -out certificate.crt -extfile san.cnf -extensions v3_req -days 3650

将生成一张有效期10年 给*.k8s.lan使用的证书

然后scp把certificate.crt这个证书拷贝下来 并且添加到受信任的根证书签发机构

然后把证书添加到Secret

这里要注意的是,Secret必须与Ingress配置处于同一个命名空间 否则Controller认不到

Terminal window
kubectl create secret tls authentik-tls-secret --key private.key --cert certificate.crt -n authentik

然后Ingress配置如下

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: authentik-tls-ingress
namespace: authentik
annotations:
nginx.ingress.kubernetes.io/ssl-passthrough: 'true'
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
spec:
tls:
- hosts:
- authentik.k8s.lan
secretName: wildcard-lan-secret
rules:
- host: authentik.k8s.lan
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: authentik-server
port:
number: 9000

apply这个yml

不出意外就能以Https访问authhentik.k8s.lan了

ea53d3b3-a441-4918-850b-660cd46ce283.png
ea53d3b3-a441-4918-850b-660cd46ce283.png

后续更新:自建ACME之后只需要信任根证书 这个方法已经弃用了((

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

记一次局域网内.lan域名的证书自签名并挂载到Ingress
https://cainongw.github.io/posts/lan-ssl-buildup/
作者
Cainong
发布于
2025-10-05
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
记一次基于small-step对局域网内证书的自签名
HomeLab 我们已经解决了K8s内集群的证书 现在需要解决我们直接跑在虚拟机上的一些服务的证书签名了 之前是自己签名 现在发现可以用根证书+ACME统一签名 因为是根证书 实际上可以在Ingress里设置任何一个域名(即使他已经存在) 甚至可以把baidu换成google(
2
记一次filebrowser的搭建
Kubernetes 起因 我以为这个就是写个Deployment然后挂载NFS就得了 本来都不打算写blog的 结果后面发现折腾了我几个小时才好 还是有一点坑的 所以就写一下
3
记一次Harbor在K8s上的搭建
HomeLab 前言 我之前一直让K8s的Node直接走软路由代理 那包能用的 但一直这样也不是个办法 我别的设备(比如我自己电脑上的WSL)现在都还下不来Docker镜像 傻逼微软的HyperVisior跟史一样 时不时给我电脑蓝一下 然后我需要迁移以前的Docker镜像到集群中 最好是能找个地方暂存一下我的镜像 顺便作为镜像加速站 这是最好的 目前在强大和易部署之间比较
4
记一次Kubernetes集群的完善
HomeLab 前言 我们成功搭建起了K8s 接下来我们需要搭建一些额外的服务来满足我的需求
5
开源WAF 雷池在K8s上的搭建
HomeLab 前言 换了条宽带,现在我拥有动态的公网IPV4地址了 我打算暴露一些服务出去以便我使用 例如Openlist RDP Gitlab 但是 我并不打算公开 我只打算自己使用 前面我们搭建了Authentik作为SSO单点登录,刚好雷池WAF支持通过单点登录鉴权来允许访问 这样我就可以实现把ESXi挂到公网 但是不登录都过不了防火墙
随机文章 随机推荐
Profile Image of the Author
Cainong
Caiw there 👋
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
站点统计
文章
38
分类
16
标签
48
总字数
57,650
运行时长
0
最后活动
0 天前

文章目录