4.2 KiB
4.2 KiB
Authentik Traefik 代理配置指南
配置概述
已为Authentik配置Traefik代理,实现SSL证书自动管理和域名访问。
配置详情
Authentik服务信息
- 容器IP: 192.168.31.144
- HTTP端口: 9000 (可选)
- HTTPS端口: 9443 (主要)
- 容器状态: 运行正常
- SSH认证: 已配置密钥认证,无需密码
Traefik代理配置
服务配置
authentik-cluster:
loadBalancer:
servers:
- url: "https://192.168.31.144:9443" # Authentik容器HTTPS端口
serversTransport: authentik-insecure
healthCheck:
path: "/flows/-/default/authentication/"
interval: "30s"
timeout: "15s"
路由配置
authentik-ui:
rule: "Host(`authentik.git-4ta.live`)"
service: authentik-cluster
entryPoints:
- websecure
tls:
certResolver: cloudflare
DNS配置要求
需要在Cloudflare中为以下域名添加DNS记录:
A记录
authentik.git-4ta.live A <hcp1的Tailscale IP>
获取hcp1的Tailscale IP
# 方法1: 通过Tailscale命令
tailscale ip -4 hcp1
# 方法2: 通过ping
ping hcp1.tailnet-68f9.ts.net
部署步骤
1. 更新Traefik配置
# 重新部署Traefik job
nomad job run components/traefik/jobs/traefik-cloudflare-git4ta-live.nomad
2. 配置DNS记录
在Cloudflare Dashboard中添加A记录:
- Name: authentik
- Type: A
- Content: <hcp1的Tailscale IP>
- TTL: Auto
3. 验证SSL证书
# 检查证书是否自动生成
curl -I https://authentik.git-4ta.live
# 预期返回200状态码和有效的SSL证书
4. 测试访问
# 访问Authentik Web UI
open https://authentik.git-4ta.live
# 或使用curl测试
curl -k https://authentik.git-4ta.live
健康检查
Authentik健康检查端点
- 路径:
/if/flow/default-authentication-flow/ - 间隔: 30秒
- 超时: 15秒
检查服务状态
# 检查Traefik路由状态
curl -s http://hcp1.tailnet-68f9.ts.net:8080/api/http/routers | jq '.[] | select(.name=="authentik-ui")'
# 检查服务健康状态
curl -s http://hcp1.tailnet-68f9.ts.net:8080/api/http/services | jq '.[] | select(.name=="authentik-cluster")'
故障排除
常见问题
-
DNS解析问题
# 检查DNS解析 nslookup authentik.git-4ta.live # 检查Cloudflare DNS dig @1.1.1.1 authentik.git-4ta.live -
SSL证书问题
# 检查证书状态 openssl s_client -connect authentik.git-4ta.live:443 -servername authentik.git-4ta.live # 检查Traefik证书存储 ls -la /opt/traefik/certs/ -
服务连接问题
# 检查Authentik容器状态 sshpass -p "Aa313131@ben" ssh -o StrictHostKeyChecking=no root@pve "pct exec 113 -- netstat -tlnp | grep 9000" # 检查Traefik日志 nomad logs -f traefik-cloudflare-v1
调试命令
# 检查Traefik配置
curl -s http://hcp1.tailnet-68f9.ts.net:8080/api/rawdata | jq '.routers[] | select(.name=="authentik-ui")'
# 检查服务发现
curl -s http://hcp1.tailnet-68f9.ts.net:8080/api/rawdata | jq '.services[] | select(.name=="authentik-cluster")'
# 检查中间件
curl -s http://hcp1.tailnet-68f9.ts.net:8080/api/rawdata | jq '.middlewares'
下一步
配置完成后,可以:
-
配置OAuth2 Provider
- 在Authentik中创建OAuth2应用
- 配置回调URL
- 设置客户端凭据
-
集成HCP服务
- 为Nomad UI配置OAuth2认证
- 为Consul UI配置OAuth2认证
- 为Vault配置OIDC认证
-
用户管理
- 创建用户组和权限
- 配置多因素认证
- 设置访问策略
安全注意事项
-
网络安全
- Authentik容器使用内网IP (192.168.31.144)
- 通过Traefik代理访问,不直接暴露
-
SSL/TLS
- 使用Cloudflare自动SSL证书
- 强制HTTPS重定向
- 支持现代TLS协议
-
访问控制
- 建议配置IP白名单
- 启用多因素认证
- 定期轮换密钥
配置完成时间: $(date)
配置文件: /root/mgmt/components/traefik/jobs/traefik-cloudflare-git4ta-live.nomad
域名: authentik.git-4ta.live
状态: 待部署和测试