一、安装前准备
-
安装依赖工具
bash# Ubuntu/Debian sudo apt install libnss3-tools wget # CentOS/RHEL sudo yum install nss-tools wget
二、安装方法选型
**方法 1:二进制直接安装(推荐)**
bash
# 下载最新版二进制文件(以 v1.4.4 为例)
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-linux-amd64
# 赋予执行权限并全局安装
chmod +x mkcert-v1.4.4-linux-amd64
sudo mv mkcert-v1.4.4-linux-amd64 /usr/local/bin/mkcert
方法 2:Go 环境编译安装
bash
# 安装 Golang
sudo apt install golang-go
# 通过 Go 安装 mkcert
go install filippo.io/mkcert@latest
# 添加环境变量
echo 'export PATH="$PATH:$(go env GOPATH)/bin"' >> ~/.bashrc
source ~/.bashrc
三、初始化证书颁发机构
bash
# 安装本地根证书
sudo mkcert -install
# 验证根证书位置
mkcert -CAROOT
生成的根证书默认位于 /root/.local/share/mkcert
或当前用户目录 45
四、生成 SSL 证书
bash
mkcert 192.168.1.100 localhost # 为指定 IP/域名生成证书
自动生成 192.168.1.100.pem
和 192.168.1.100-key.pem
,浏览器无警告
五、配置证书路径
bash
sudo mkdir -p /etc/nginx/ssl
sudo cp 192.168.1.100.pem /etc/nginx/ssl/
sudo cp 192.168.1.100-key.pem /etc/nginx/ssl/
六、Nginx 配置
创建配置文件
配置nginx /etc/nginx/nginx.conf
:
bash
server {
listen 443 ssl;
server_name 192.168.1.100 local.example;
# 证书配置
ssl_certificate /etc/nginx/ssl/192.168.1.100.pem;
ssl_certificate_key /etc/nginx/ssl/192.168.1.100-key.pem;
# 安全增强配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
# 反向代理到本地服务(示例:FastAPI应用)
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
重启nginx
bash
#方法一 正常重启
nginx -s reload
#方法二 系统服务重启
systemctl restart nginx