首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

SSL证书安装、配置和问题定位指南

  • 25-04-24 21:24
  • 3268
  • 12184
blog.csdn.net

在运维或者实际的部署、开发,可能涉及到ssl证书相关的问题,尤其前端有些能力(摄像头、webrtc)等需要在安全的上下文才能使用,cookie的跨iframe生效也需要。关于如何生成和部署证书,很多文字都有介绍,本文只做简单的介绍,但额外加了tls证书测试,便于测试部署的证书是否生效,以免调试时定位不到问题

1. SSL证书的生成

1.1 使用OpenSSL生成自签名证书

  1. 生成私钥:

    openssl genrsa -out server.key 2048
    
    • 1
  2. 生成证书签名请求(CSR):

    openssl req -new -key server.key -out server.csr
    
    • 1
  3. 生成自签名证书:

    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
    
    • 1

1.2 获取受信任的CA颁发的证书

  1. 生成CSR(如上所示)
  2. 将CSR提交给CA(如Let’s Encrypt、DigiCert等)
  3. 按照CA的指示完成验证步骤
  4. 下载颁发的证书文件

2. 使SSL证书生效

2.1 Apache服务器

  1. 编辑Apache配置文件(通常是/etc/apache2/sites-available/default-ssl.conf)
  2. 添加或修改以下行:
    SSLEngine on
    SSLCertificateFile /path/to/your/server.crt
    SSLCertificateKeyFile /path/to/your/server.key
    
    • 1
    • 2
    • 3
  3. 重启Apache:sudo service apache2 restart

2.2 Nginx服务器

  1. 编辑Nginx配置文件(通常在/etc/nginx/sites-available/目录下)
  2. 在server块中添加以下内容:
    listen 443 ssl;
    ssl_certificate /path/to/your/server.crt;
    ssl_certificate_key /path/to/your/server.key;
    
    • 1
    • 2
    • 3
  3. 重新加载Nginx配置:sudo nginx -s reload

3. SSL证书问题定位

3.1 测试是否有证书

  1. 使用OpenSSL:

    openssl s_client -connect your_domain.com:443
    
    • 1

    此命令将显示证书信息,如果有的话:如下图所示,可看到证书指纹等信息,尤其是自签名,如果不小心弄了多个证书又不知道哪个有效的话,就可以进一步分析了
    在这里插入图片描述
    如果是没有证书或不支持的,则会报错如下:可以看到客户证书没安装,目标网络位置也不支持
    在这里插入图片描述

  2. 使用在线SSL检查工具,如SSL Labs(https://www.ssllabs.com/ssltest/)

3.2 定位证书位置

  1. Apache:

    • 查看Apache配置文件中的SSLCertificateFile和SSLCertificateKeyFile指令
  2. Nginx:

    • 查看Nginx配置文件中的ssl_certificate和ssl_certificate_key指令
  3. 常见的证书存储位置:

    • /etc/ssl/certs/
    • /etc/pki/tls/certs/
    • /etc/apache2/ssl/
    • /etc/nginx/ssl/
  4. Windows server:
    专门的证书管理工具,可查看个人证书等,有时候需要将证书放到受信任的根证书机构下*

3.3 常见问题及解决方法

  1. 证书过期

    • 使用openssl x509 -in server.crt -noout -dates检查有效期
    • 及时续期或重新申请证书
  2. 证书链不完整

    • 确保包含了所有中间证书
    • 在配置文件中正确设置证书链文件
  3. 私钥和证书不匹配

    • 使用openssl x509 -noout -modulus -in server.crt | openssl md5和
      openssl rsa -noout -modulus -in server.key | openssl md5
      比较输出是否一致
  4. 配置文件路径错误

    • 仔细检查配置文件中的证书和私钥路径是否正确
  5. 权限问题

    • 确保Web服务器进程有权限读取证书和私钥文件

记住,处理SSL证书时要格外小心,确保私钥的安全性,并遵循最佳实践来保护你的服务器和用户数据。

希望看完有所收获,中秋节快乐啊!

注:本文转载自blog.csdn.net的余生H的文章"https://blog.csdn.net/m0_38015699/article/details/142264481"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top