外网生成证书,内网部署 Code-Server HTTPS 实战指南
核心原理
利用 mkcert 在本地(外网/管理机)生成受信任的 CA 根证书和站点证书,将站点证书部署到内网服务器,将 CA 根证书安装到所有客户端。
第一步:在管理机(外网/个人电脑)生成证书
- 安装 mkcert: 在个人电脑上安装
mkcert工具。 - 初始化 CA: 执行
mkcert -install。这会在本机生成一个本地 CA 并自动信任它。 - 生成站点证书: 假设内网服务器 IP 为
192.168.1.100,执行:bash生成两个文件:mkcert 192.168.1.100192.168.1.100.pem(证书)和192.168.1.100-key.pem(私钥)。
第二步:部署证书到内网服务器
- 传输文件: 将生成的
192.168.1.100.pem和192.168.1.100-key.pem复制到内网服务器的任意目录(如/opt/certs/)。 - 配置 Code-Server: 编辑
~/.config/code-server/config.yaml:yamlbind-addr: 0.0.0.0:8443 cert: /opt/certs/192.168.1.100.pem cert-key: /opt/certs/192.168.1.100-key.pem - 重启服务: 重启 Code-Server 使配置生效。
第三步:客户端信任配置(至关重要)
- 获取根证书: 在管理机上运行
mkcert -CAROOT找到rootCA.pem文件。 - 安装信任: 将此
rootCA.pem分发给所有需要访问 Code-Server 的设备(电脑、手机),并在系统中安装为“受信任的根证书颁发机构”。
安装信任:
- Windows: 双击 rootCA.pem -> “安装证书” -> 选择“本地计算机” -> 下一步 -> 选择“将所有证书放入下列存储” -> 浏览选择 “受信任的根证书颁发机构” -> 完成。
- Mac: 双击导入钥匙串,找到该证书,双击展开信任设置,将“使用此证书时”设置为“始终信任”。
完成以上步骤后,重启下浏览器,即可通过 https://192.168.1.100:8443 安全访问,且插件功能正常。