SuperAPI AI 工具集

selfsigned-proxy

通用与其它

查看项目

更新于 10-16 00:00

技能介绍

用途:在无域名的本地环境中,用一张自签名证书把多个本地服务通过 Caddy 统一代理为 HTTPS。生成叶子证书后打印 SHA-256 指纹作为服务身份,返回一个 URL 与一个指纹。适用于 Linux/macOS 的 bash 环境;Caddy 本身支持 Windows,但随附辅助脚本以 bash 为主。

主要能力:为实际主机/IP 生成带 SAN 的自签证书;输出 SHA-256 指纹;用该证书启动 Caddy 或通过本地管理 API 添加路由;校验证书身份与后端可达性;给出移除路由或轮换证书的方法。

使用方式:先检查 openssl 与 caddy 是否存在。生成证书示例:openssl req -x509 -newkey rsa:2048 -noenc -keyout key.pem -out cert.pem -days 365 -subj "/CN=proxy.local" -addext "subjectAltName=IP:127.0.0.1,DNS:localhost"。打印指纹:openssl x509 -in cert.pem -noout -fingerprint -sha256。Caddyfile 使用 :8443 与 tls cert.pem key.pem,通过 handle_path 把 /files/* 反代到 127.0.0.1:8080、/app/* 到 127.0.0.1:3000。上游期望请求在 / 时用 handle_path;若上游本身能处理路径,用 handle 也可,需明确说明采用哪种。可用 curl -kI https://127.0.0.1:8443/ 与上述 openssl 命令校验,并确认每个后端路由路径、按 IP 连接时 SAN 含该 IP、管理 API 仅监听本地。可选用 scripts/generate_selfsigned_cert.sh 完成确定性的证书/指纹步骤,路由接线保留在主流程。

限制:不涉及 DNS 或 ACME 配置;不要将 Caddy 管理 API 暴露到不受信网络;指纹仅对应当前该证书,重新生成证书会改变指纹;自签名证书仅用于无域名的本地 HTTPS。