zhouqi b3a6fb94c8 Initial commit há 5 dias atrás
..
README.md b3a6fb94c8 Initial commit há 5 dias atrás

README.md

SSL 证书目录

此目录用于存放 SSL/TLS 证书文件。

生成自签名证书

Linux/Mac

chmod +x scripts/generate_ssl_cert.sh
./scripts/generate_ssl_cert.sh

Windows

前提条件: 需要先安装 OpenSSL

安装 OpenSSL (Windows)

详细安装指南请查看: docs/INSTALL_OPENSSL_WINDOWS.md

快速安装方式

  1. 使用 Git for Windows (推荐,最简单)

    • Git for Windows 自带 OpenSSL
    • 下载: https://git-scm.com/download/win
    • 安装后,OpenSSL 会自动添加到 PATH
    • 安装目录: 默认 C:\Program Files\Git(自动配置,无需手动设置)
  2. 手动安装 OpenSSL (如果不想安装 Git)

    • 下载: https://slproweb.com/products/Win32OpenSSL.html
    • 选择 "Win64 OpenSSL v3.x.x Light"(推荐)
    • 安装目录: 推荐 C:\Program Files\OpenSSL-Win64
    • 安装时勾选 "Copy OpenSSL DLLs to The Windows system directory"
    • 配置 PATH: 添加 C:\Program Files\OpenSSL-Win64\bin 到系统 PATH
    • 详细步骤请查看上面的安装指南
  3. 使用 Chocolatey (如果已安装)

    choco install openssl
    
    1. 使用 WSL (如果已安装 WSL) bash sudo apt-get update sudo apt-get install openssl

验证 OpenSSL 安装

打开命令提示符或 PowerShell,运行:

openssl version

如果显示版本信息,说明安装成功。

生成证书

scripts\generate_ssl_cert.bat

手动生成证书

如果脚本无法运行,可以手动执行以下命令:

1. 生成私钥

openssl genrsa -out certs/server.key 2048

2. 生成证书签名请求 (CSR)

openssl req -new -key certs/server.key -out certs/server.csr -subj "/C=CN/ST=State/L=City/O=Organization/CN=localhost"

3. 创建配置文件 (server.conf)

创建文件 certs/server.conf,内容如下:

[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req

[req_distinguished_name]

[v3_req]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = localhost
DNS.2 = *.localhost
IP.1 = 127.0.0.1
IP.2 = ::1

4. 生成自签名证书

openssl x509 -req -days 365 -in certs/server.csr -signkey certs/server.key -out certs/server.crt -extensions v3_req -extfile certs/server.conf

5. 清理临时文件

rm certs/server.csr certs/server.conf

使用证书

生成证书后,服务器会自动检测 certs/server.keycerts/server.crt 文件。

如果存在这些文件,服务器将自动启用 HTTPS。

访问地址:

  • HTTP: http://localhost:8000
  • HTTPS: https://localhost:8000

浏览器警告

自签名证书会在浏览器中显示安全警告,这是正常的。您可以:

  1. Chrome/Edge: 点击"高级" -> "继续前往 localhost(不安全)"
  2. Firefox: 点击"高级" -> "接受风险并继续"
  3. Safari: 点击"显示详细信息" -> "访问此网站"

生产环境

⚠️ 重要: 自签名证书仅用于开发环境。在生产环境中,请使用由受信任的 CA(如 Let's Encrypt)签发的证书。

文件说明

  • server.key: 私钥文件(请妥善保管,不要泄露)
  • server.crt: 证书文件
  • .gitignore: 已配置忽略证书文件,不会提交到版本控制