
























做本地 Web 开发时,你可能经常看到浏览器提示"您的连接不是私密连接"。这不影响开发,但会带来两个问题:
getUserMedia)Secure 标志的 Cookie 只在 HTTPS 下发送)
传统做法是手动生成自签名证书、添加到系统信任库、改 /etc/hosts 、配反向代理——第一次折腾半小时,之后每次都嫌麻烦。
slim 是一个 Go 写的轻量级反向代理和本地域名管理器。一条命令搞定上述所有事情:
slim start myapp --port 3000
执行后,项目通过 https://myapp.test 访问,有合法证书,无浏览器警告。支持 HTTP/2、WebSocket、HMR(热模块替换),Next.js、Vite 等开发服务器开箱即用。
slim start 第一次运行时自动完成四件事:
httputil.ReverseProxy ,把 HTTPS 流量从域名转发到本地开发服务器的端口。/etc/hosts 中添加条目,让域名解析到 127.0.0.1 ,不需要额外的 DNS 服务器。一行命令安装:
curl -sL https://slim.sh/install.sh | sh
安装前可以先审查脚本内容:在浏览器中打开 https://slim.sh/install.sh 查看源码。
确认安装成功:
slim --version
假设你的开发服务器运行在 3000 端口,启动 slim:
slim start myapp --port 3000
第一次运行时,slim 会生成根 CA、注册系统信任库、为 myapp.test 签发证书、更新 /etc/hosts 、启动后台代理。
打开浏览器访问 https://myapp.test ,项目通过 HTTPS 加载,证书有效,没有警告。
Note: slim 默认使用 .test 域名。不要用 .local —— 它保留给 mDNS 使用,在 macOS/Linux 上可能导致 DNS 解析缓慢或不一致。 .test 是 RFC 2606 专门为本地开发保留的域名。
查看所有活跃域名:
slim list
停止指定域名:
slim stop myapp
完全卸载(删除 CA、证书、hosts 条目、端口转发规则、配置文件):
slim uninstall
诊断检查:
slim doctor
启动时的有用选项:
slim start myapp --port 3000 --log verbose slim start myapp --port 3000 --log quiet slim start myapp --port 3000 --wait
所有运行时数据在 ~/.slim/ 目录下。需要手动检查或备份证书时去那里。
即使不考虑浏览器警告,本地开发环境应该尽量接近生产环境。以下功能在 HTTP 下行为不同或完全不工作:
| API / 功能 | HTTPS 下的行为 | HTTP 下的行为 |
|---|---|---|
如果你的项目依赖这些功能,在 HTTP 下测试的结果和生产环境不一致。slim 让本地 HTTPS 变得几乎零成本。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。