LInux mkcert 制作本地ssl证书,配置nginx 支持https

一、安装前准备
  1. 安装依赖工具

    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.pem192.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
相关推荐
蒸蒸yyyyzwd9 小时前
cpp选手秋招学习笔记day24-cs144项目总结
运维·服务器·网络
ang7849 小时前
日常高频使用的 Ansible 命令,按使用频率和场景整理。
linux·运维·服务器
高亦真9 小时前
今天是学习嵌入式的第35天
linux·学习·算法
翼龙云_cloud9 小时前
腾讯云国际代理商:如何用云服务器快速部署WorkBuddy AI助手?
服务器·人工智能·云计算·腾讯云
mounter62510 小时前
eBPF 驱动的云原生网络变革:Cilium 的前世今生与全机套接字迭代技术演进
linux·ebpf·linux kernel·kernel
赵庆明老师10 小时前
用同一个用户登录宝塔面板的ftp与Linux的sftp
linux·运维·服务器
oushaojun210 小时前
深入理解 Linux I2C 框架:内核子系统分层解析(转)
linux
山君爱摸鱼10 小时前
堡垒机远程服务器故障收集
运维·服务器
不会就选b10 小时前
Linux之socket编程(六)----TCP-->模拟shell命令
linux·运维·tcp/ip
比兔代理11 小时前
住宅代理IP的出口节点调度:ASN、BGP 与 IP 段信誉机制解析
linux·服务器·网络