mkcert
是一个简单的工具,用于在本地环境中创建合法的 SSL 证书。它非常适合开发和测试环境,因为它创建的证书会被您系统的信任存储所信任,这样就避免了浏览器和其他工具对自签名证书的警告。下面是使用 mkcert
创建本地证书的步骤:
步骤 1: 安装 mkcert
- Windows:
使用 Chocolatey(Windows 的包管理器)安装mkcert
。
choco install mkcert
- macOS:
使用 Homebrew 安装mkcert
。
brew install mkcert
- Linux:
Linux 用户可以从 GitHub 获取安装指令。
步骤 2: 创建本地 CA (证书颁发机构)
运行 mkcert
来创建和安装一个本地 CA:
mkcert -install
这将在本地信任存储中安装一个新的根证书颁发机构。
步骤 3: 创建 SSL 证书
使用 mkcert
为您的本地域名生成证书。以下命令将为 localhost
创建一个证书和密钥:
mkcert localhost 127.0.0.1 ::1
这将创建两个文件:localhost+2.pem
(证书文件)和 localhost+2-key.pem
(私钥文件)。
步骤 4: 配置 Elasticsearch 使用证书
将生成的证书和密钥文件放在 Elasticsearch 可以访问的地方,然后更新 Elasticsearch 的配置,以使用这些文件。例如,在 elasticsearch.yml
中添加如下配置:
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.certificate: /path/to/localhost+2.pem
xpack.security.http.ssl.key: /path/to/localhost+2-key.pem
替换 /path/to/
为您存放证书和密钥的实际路径。
步骤 5: 重启 Elasticsearch
重新启动 Elasticsearch 以应用新的 SSL 配置。
步骤 6: 验证配置
验证 SSL 配置是否正确,可以尝试使用 HTTPS 连接到 Elasticsearch。例如,可以在浏览器中访问 https://localhost:9200
。
注意事项
-
mkcert
生成的证书仅适用于本地开发和测试,不应该在生产环境中使用。 - 确保 Elasticsearch 的配置文件正确地指向了证书和密钥文件的路径。
- 如果更改了 Elasticsearch 的默认端口,请确保在生成证书时包括正确的端口。