记一次局域网内.lan域名的证书自签名并挂载到Ingress
388 字
2 分钟
记一次局域网内.lan域名的证书自签名并挂载到Ingress
前言
在Authentik的折腾中由于我们没有https导致passkey无法使用
并且想使用passkey必须要可用的证书 Chrome提示什么不安全的连接即使有https也是无法使用的
所以我们需要给.lan域名签一个证书并信任他
开始折腾
妈的傻逼ChatGPT 让我给*.lan域名去签名
根本用不了
这里要注意的点就是域名只能签诸如*.k8s.lan这样的通配符
以下命令在Master节点上执行就好
openssl genpkey -algorithm RSA -out private.keyopenssl req -new -key private.key -out csr.csr新建一个san.cnf文件 写上如下内容
[req]req_extensions = v3_reqdistinguished_name = req_distinguished_name
[req_distinguished_name]
[v3_req]subjectAltName = @alt_names
[alt_names]DNS.1 = *.k8s.lanDNS.2 = www.example.com然后保存继续输入
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认不到
kubectl create secret tls authentik-tls-secret --key private.key --cert certificate.crt -n authentik然后Ingress配置如下
apiVersion: networking.k8s.io/v1kind: Ingressmetadata: 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: 9000apply这个yml
不出意外就能以Https访问authhentik.k8s.lan了

后续更新:自建ACME之后只需要信任根证书 这个方法已经弃用了((
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
记一次局域网内.lan域名的证书自签名并挂载到Ingress
https://cainongw.github.io/posts/lan-ssl-buildup/ 相关文章 智能推荐
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挂到公网 但是不登录都过不了防火墙
随机文章 随机推荐