Skip to content

外网生成证书,内网部署 Code-Server HTTPS 实战指南

核心原理

利用 mkcert 在本地(外网/管理机)生成受信任的 CA 根证书和站点证书,将站点证书部署到内网服务器,将 CA 根证书安装到所有客户端。

第一步:在管理机(外网/个人电脑)生成证书

  1. 安装 mkcert: 在个人电脑上安装 mkcert 工具。
  2. 初始化 CA: 执行 mkcert -install。这会在本机生成一个本地 CA 并自动信任它。
  3. 生成站点证书: 假设内网服务器 IP 为 192.168.1.100,执行:
    bash
    mkcert 192.168.1.100
    生成两个文件:192.168.1.100.pem(证书)和 192.168.1.100-key.pem(私钥)。

第二步:部署证书到内网服务器

  1. 传输文件: 将生成的 192.168.1.100.pem192.168.1.100-key.pem 复制到内网服务器的任意目录(如 /opt/certs/)。
  2. 配置 Code-Server: 编辑 ~/.config/code-server/config.yaml
    yaml
    bind-addr: 0.0.0.0:8443
    cert: /opt/certs/192.168.1.100.pem
    cert-key: /opt/certs/192.168.1.100-key.pem
  3. 重启服务: 重启 Code-Server 使配置生效。

第三步:客户端信任配置(至关重要)

  1. 获取根证书: 在管理机上运行 mkcert -CAROOT 找到 rootCA.pem 文件。
  2. 安装信任: 将此 rootCA.pem 分发给所有需要访问 Code-Server 的设备(电脑、手机),并在系统中安装为“受信任的根证书颁发机构”。

安装信任:

  • Windows: 双击 rootCA.pem -> “安装证书” -> 选择“本地计算机” -> 下一步 -> 选择“将所有证书放入下列存储” -> 浏览选择 “受信任的根证书颁发机构” -> 完成。
  • Mac: 双击导入钥匙串,找到该证书,双击展开信任设置,将“使用此证书时”设置为“始终信任”。

完成以上步骤后,重启下浏览器,即可通过 https://192.168.1.100:8443 安全访问,且插件功能正常。