当前位置: 首页 > news >正文

Linux系统中自签名HTTPS证书

在 Linux 系统中,我们可以通过 OpenSSL 工具生成自签名的 HTTPS 证书,并将其配置到 Web 服务器(如 Nginx)中。以下是详细步骤:

一. 生成自签名 HTTPS 证书

  1. 安装 OpenSSL

    首先,确保你的系统上安装了OpenSSL,这是一个强大的加密工具,用于生成和管理SSL/TLS证书。大多数Linux发行版默认已经安装了OpenSSL。

    • 对于 Ubuntu/Debian 系统:
      sudo apt-get update
      sudo apt-get install openssl
      
    • 对于 CentOS/RHEL 系统:
      sudo yum install openssl
      
  2. 生成私钥

    使用OpenSSL生成一个RSA私钥。这个私钥将用于生成证书签名请求(CSR)和自签名的证书。

    • 使用以下命令生成一个 2048 位的私钥文件(例如 server.key):
      openssl genpkey -algorithm RSA -out server.key
      
    • 或者使用旧版本的 OpenSSL:
      openssl genrsa -out server.key 2048
      
  3. 生成证书签名请求 (CSR)

    使用私钥创建一个证书签名请求。CSR包含了你的组织信息,这些信息将被包含在最终的证书中。

    • 使用私钥生成 CSR 文件(例如 server.csr):
      openssl req -new -key server.key -out server.csr
      
    • 在生成过程中,系统会提示输入一些信息,如国家、组织名称、通用名称(域名)等。
  4. 生成自签名证书

    • 使用 CSR 和私钥生成自签名证书(例如 server.crt),有效期为 365 天:
      openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
      

二. 配置 Nginx 使用自签名证书

  1. 创建 Nginx 配置文件

    • 编辑 Nginx 的配置文件,添加以下内容:
      server {listen 443 ssl;server_name yourdomain.com;ssl_certificate /path/to/server.crt;ssl_certificate_key /path/to/server.key;location / {root /path/to/your/webroot;index index.html index.htm;}
      }
      
    • yourdomain.com 替换为你的域名,/path/to/server.crt/path/to/server.key 替换为证书和私钥文件的实际路径。
  2. 重启 Nginx 服务

    • 保存配置文件后,重启 Nginx 服务以使更改生效:
      sudo systemctl restart nginx
      
      或者:
      sudo service nginx restart
      

三. 注意事项

  • 自签名证书在浏览器中会被视为不安全的,因为它们没有由受信任的证书颁发机构(CA)签名。因此,自签名证书通常仅用于开发环境或内部测试。
  • 如果需要在生产环境中使用 HTTPS,建议购买由受信任 CA 签名的证书。
    • 自签名证书适合内部开发和测试环境,使用方便但安全性低,用户信任度低。
    • CA 签名证书适合生产环境和面向公众的网站,安全性高,用户信任度高,但需要付费。

以下是自签名证书和 CA 签名证书的区别:

特性自签名证书CA 签名证书
信任机制由证书所有者自己签发,浏览器默认不信任,需手动添加到信任列表。由受信任的第三方 CA 签发,浏览器和客户端设备内置 CA 根证书,自动信任。
安全性安全性较低,依赖私钥管理,容易被伪造或篡改。安全性较高,CA 会对申请者进行身份验证,支持多种加密算法和安全标准。
使用场景适用于内部测试环境、开发环境或小型私人网络。适用于面向公众的网站、电子商务平台、企业级应用等。
成本免费,无需支付 CA 费用。通常需要付费,费用根据证书类型和有效期而定(部分 DV 证书免费)。
证书链没有证书链,证书由自身签发。包含证书链(根证书 → 中间证书 → 目标证书),通过证书链验证真实性。
证书有效期用户自行设置,建议不超过 1 年。根据 CA/B 论坛规定,DV 证书最长 90 天,OV 和 EV 证书最长 27 个月。
浏览器支持浏览器会提示证书不受信任,可能阻止访问网站。浏览器和客户端设备自动信任,用户可以正常访问网站,不会出现安全警告。
http://www.xdnf.cn/news/1019611.html

相关文章:

  • windows使用命令行查看进程信息
  • 高级定时器TIM1、TIM8
  • 什么是NIST CSF合规?ManageEngine卓豪合规指南!
  • 设备管理 -- Udev(二)U盘挂载
  • linux thermal framework(3)_thermal cooling device
  • WEBSOCKET研究
  • 传智健康---十天项目总结
  • 邮科OEM摄像头重塑楼宇安防价值链条
  • 010502管道符_防火墙出入站_不回显带外-渗透命令-基础入门-网络安全
  • 多模态大语言模型arxiv论文略读(120)
  • ArcPy 与 ArcGIS .NET SDK 读取 GDB 要素类坐标系失败?GDAL 外挂方案详解
  • 会计-收入-3-关于特定交易的会计处理
  • Flask应用中处理异步事件(后台线程+事件循环)的方法(2)
  • C# 使用HttpListener时候异常(此平台不支持此操作:System.PlatformNotSupportedException)
  • 论文阅读:arxiv 2025 Not All Tokens Are What You Need In Thinking
  • 一致性hash
  • PG、SprinBoot项目报错,表不存在
  • 代码训练LeetCode(34)文本左右对齐
  • 无人机避障——感知篇(Orin nx采用zed2双目相机进行Vins-Fusion-GPU定位,再通过位姿和深度图建图完成实时感知)
  • .NetCore 8 反射与源生成器(Reflection vs Source Generators)
  • 安装 Ubuntu Desktop 2504
  • Spring Boot自动配置原理与实践
  • 3.图数据Neo4j - CQL的使用
  • 6月13日day52打卡
  • docker-compose部署tidb服务
  • 二叉树的算法
  • 将包含父子关系的扁平列表 List<Demo> 转换成树形结构的 List<DemoVO>,每个节点包含自己的子节点列表
  • 年化收益237%的策略,12年年化是38%,支持配置最小日期,附aitrader_1.5代码发布
  • 爬虫技术栈解析:XPath与BeautifulSoup的深度对比与实践指南
  • WPF数据绑定疑惑解答--(关于控件的Itemsource,Collection绑定)