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

news/2025/3/29 2:20:30/
一、安装前准备
  1. 安装依赖工具
    # Ubuntu/Debian
    sudo apt install libnss3-tools wget
    # CentOS/RHEL
    sudo yum install nss-tools wget

二、安装方法选型
方法 1:二进制直接安装(推荐)

# 下载最新版二进制文件(以 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 环境编译安装

# 安装 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
三、初始化证书颁发机构
# 安装本地根证书
sudo mkcert -install
# 验证根证书位置
mkcert -CAROOT

生成的根证书默认位于 /root/.local/share/mkcert 或当前用户目录 ‌45

四、生成 SSL 证书
mkcert 192.168.1.100 localhost  # 为指定 IP/域名生成证书

自动生成 192.168.1.100.pem 和 192.168.1.100-key.pem,浏览器无警告‌

五、配置证书路径

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

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

#方法一 正常重启
nginx -s reload
#方法二 系统服务重启
systemctl restart nginx


http://www.ppmy.cn/news/1582845.html

相关文章

用Selenium+lxml库完成淄博链家网数据的爬取

一、淄博链家二手房网站地址 urlhttps://zb.lianjia.com/ershoufang/ 二、基本知识点总结 这个代码是一个使用 Selenium 和 lxml 库编写的网络爬虫,用于从链家网(Lianjia)的二手房列表页面中提取房屋信息。 代码结构 导入库: …

【PyTorch][chapter-38][MOE-load balancing】[3]

前言: 专家混合模型的基本思想是在深度学习时代之前提出的,可以追溯到 90 年代,当时罗伯特雅各布斯 (Robert Jacobs) 与“人工智能教父”杰弗里辛顿 (Geoffrey Hinton) 及其同事提出了“局部专家自适应混合模型”。他们提出了将神经网络划分为…

Redis Cluster核心机制:数据分片、故障转移与常用运维命令详解

Redis Cluster是Redis官方提供的分布式解决方案,通过数据分片、故障转移和自动重配置等机制,实现了高可用性和横向扩展能力。本文将深入解析Redis Cluster的核心机制,并结合实际运维场景,详细介绍常用的运维命令。 1 Redis Cluste…

代码随想录算法训练营第十五天|右旋字符串

文档讲解:代码随想录 难度:easy 附:冲 passion!!!passion!!!passion!!! 卡码网题目链接(opens new window) 字符串的右旋转操作是把…

FOC——Butterworth (巴特沃斯)数字滤波器(2025.03.18)

参考链接1: [DSP] Butterworth (巴特沃斯)数字滤波器设计参考 参考链接2: 陈佩青《数字信号处理教程》 参考链接3: ButterWorthFIlter(巴特沃斯滤波器) 在此感谢各位前辈大佬的总结,写这个只是为了记录学习大佬资料的过程,内容基本…

一文读懂Python之json模块(33)

一、json模块介绍 json模块的功能是将序列化的json数据从文件里读取出来或者存入文件。json是一种轻量级的数据交换格式,在大部分语言中,它被理解为数组(array)。 json模块序列化与反序列化的过程分别是 encoding和 decoding。e…

卷积神经网络 - 参数学习

本文我们通过两个简化的例子,展示如何从前向传播、损失计算,到反向传播推导梯度,再到参数更新,完整地描述卷积层的参数学习过程。 一、例子一 我们构造一个非常简单的卷积神经网络,其结构仅包含一个卷积层和一个输出…

【开源宝藏】30天学会CSS - DAY3 第三课 滑动文本+变色

以下是一个逐步拆解的中文教程,帮助你理解并复刻这个文字平滑滑动,并在不同背景区域显示不同文字颜色的示例。该示例的核心是:在页面中有两部分背景(左侧红色、右侧浅绿色),同一句文字在水平方向滑动时&…