本地自签https证书

本文介绍了如何在本地生成自签名的HTTPS证书,用于开发过程中的测试环境。通过使用OpenSSL创建证书和私钥,并配置Nginx使用这些自签证书,可以在浏览器中实现HTTPS连接,虽然会有不受信任的警告,但不影响测试。文章引用了多个资源,帮助读者理解并避免常见错误。
摘要由CSDN通过智能技术生成

由于开发过程中经常遇到使用https进行测试的一个环境,而如果想要一个权威认证的ssl证书又不便宜,而且需要自己拥有域名和服务器、DNS认证等等,如果只是单纯的想要一个https环境作为测试,那么自己生成一个证书就够了,虽然浏览器会有警告,但这不重要,直接点击相信即可。

在这里插入图片描述

由CA签署的证书为服务器提供重要的功能:

  • 浏览器会自动识别证书并且在不提示用户的情况下允许创建一个安全连接。
  • 当一个CA生成一个签署过的证书,它为提供网页给浏览器的组织提供身份担保。
  • 多数支持ssl的web服务器都有一个CA列表,它们的证书会被自动接受。当一个浏览器遇到一个其授权CA并不在列表中的证书,浏览器将询问用户是否接受或拒绝连接。



环境

由于我们生成的证书需要用到opensslnginx,请提前准备好。


开始

①建立目录certs,专门用来存放证书和私钥

mkdir certs

下图是我们最后完成的时候在这个目录下产生的文件

在这里插入图片描述



②创建配置文件用于生成证书

vim localhost.conf

配置文件内容如下,可自作修改
[ req ]

default_bits        = 2048							# RSA的2048是公认较比较安全的key长度
default_keyfile     = server-key.pem
distinguished_name  = subject
req_extensions      = req_ext
x509_extensions     = x509_ext
string_mask         = utf8only

[ subject ]

countryName                 = Country Name (2 letter code)
countryName_default         = US

stateOrProvinceName         = State or Province Nam
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Linux系统中,自签证书主要用于验证本地主机的身份,当证书过期时,可能会遇到以下情况: 1. **证书有效性检查失败**:当你尝试使用HTTPS、SSH等安全协议连接到服务器时,系统会检查证书的有效性。过期的证书会被视为无效,导致连接失败或显示警告。 2. **SSL/TLS握手问题**:在浏览器或其他客户端中,如果SSL/TLS握手阶段检测到证书已过期,连接会被中断,显示“证书已过期”或类似错误信息。 3. **服务不可用**:对于依赖于SSL/TLS证书的应用程序(如Apache、Nginx等),证书过期可能导致服务拒绝新连接,直到证书更新或禁用SSL检查。 解决方法: - **更新证书**:首先,你需要获取一个新的证书并替换过期的自签证书。这通常涉及到生成或下载一个新的证书,并使用`openssl`命令替换原有的证书文件。 - **更新有效期设置**:在配置文件中,确认证书的有效期限被正确设置。例如,在Nginx中,你需要更新`/etc/nginx/conf.d/ssl.conf`中的`ssl_certificate`和`ssl_certificate_key`路径及有效期限。 - **重启服务**:在更改证书后,记得重启相关的服务,如`nginx restart`或`systemctl restart nginx`,使新证书生效。 - **配置信任期限**:有些情况下,客户端可能会暂时接受过期证书,但只在有限时间内。如果你希望客户端能继续连接,可能需要设置一些临时的信任策略。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值