nginx的https证书问题总结

参考:certbot-auto安装https证书报错: certificate verify failed - 翟码农技术博客

cannot load certificate ".../SS.crt":BIO_new_file()(SSL:system library:fopen:No such file or directory:fopen(".../SS.crt"),'r') BIO routines:BIO_new_file:no such file

解决:将证书放在与nginx.conf同一目录下

SSLError:HTTPSConnectionPool(host='',port=):Max retries exceeded with url:...(Caused by SSLError(SSLError(1,u'[SSL:CERTIFICATE_VERIFY_FAILED] certificate verify failed (...)'),))

解决:服务器时间必须更改为当前时间

设置服务器时间:date -s "2021-12-31 14:32:00"

HTTPSConnectionPool(host='1.1.1.1', port=445): Max retries exceeded with url: ...(Caused by SSLError(SSLCertVerificationError("hostname '1.1.1.1' doesn't match '2.2.2.2'")))

思路:当前服务器ip是1.1.1.1,但配置的证书是2.2.2.2的证书,导致证书认证失败。

解决:使用1.1.1.1证书覆盖nginx中错误证书,然后重启nginx

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Nginx中配置HTTPS,您需要为您的网站获取SSL证书。虽然您可以使用自签名证书来测试HTTPS,但是在生产环境中,您应该从受信任的证书颁发机构(CA)获取证书。 一旦您获得了证书,您需要将其安装在Nginx服务器上。以下是一个简单的步骤: 1. 将证书和私钥文件上传到服务器上。 2. 在Nginx配置文件中指定证书和私钥的路径: ``` server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/cert.crt; ssl_certificate_key /path/to/cert.key; #其他配置 } ``` 3. 重新加载Nginx配置文件以使更改生效: ``` sudo systemctl reload nginx ``` 现在您的网站应该已经配置了HTTPS。 ### 回答2: Nginx是一款高性能的Web服务器软件,可以通过配置实现对HTTPS的支持,无需使用证书。 要在Nginx上配置HTTPS,需要以下步骤: 1. 安装Nginx服务器,并确保其可以正常运行。 2. 修改Nginx的配置文件(一般为nginx.conf),找到监听端口的配置项(默认为80),将其修改为443,即将HTTP的默认端口修改为HTTPS的默认端口。 3. 配置SSL/TLS协议,将配置项ssl on添加到监听端口的配置项中,表示开启SSL/TLS功能。 4. 为了保证安全,需要生成一个自签名证书,用于加密HTTPS传输的数据。可以使用OpenSSL等工具生成自签名证书,并将证书保存到指定的位置。 5. 配置SSL证书,将证书的路径和密钥文件指定到Nginx的配置文件中。在配置项ssl_certificate中指定证书路径,ssl_certificate_key指定密钥文件路径。 6. 重新启动Nginx服务器,使配置生效。 这样,Nginx就成功配置了无证书HTTPS支持。当访问服务器时,Nginx会通过SSL/TLS协议实现数据的加密传输,保证数据的安全性。但由于使用的是自签名证书,浏览器会提示用户该网站的证书不受信任,用户需要手动点击继续访问。 需要注意的是,无证书HTTPS配置仅适用于开发环境或个人使用,对于生产环境或重要的网站,建议使用由可信任的证书机构颁发的正式证书,以确保数据的安全性和访问的可信任性。 ### 回答3: 在配置nginx证书https访问时,需要进行以下步骤: 1. 首先,确保已经安装了nginx服务器并成功启动。 2. 打开nginx配置文件(默认路径为/etc/nginx/nginx.conf),找到需要启用https的server块。 3. 在server块内添加以下配置内容: ``` listen 443 ssl; ssl_certificate none; ssl_certificate_key none; ``` 其中,listen 443 ssl表示该服务器监听443端口,并启用SSL加密协议;ssl_certificatessl_certificate_key设置为none表示不使用证书进行加密。 4. 配置完毕后,保存并退出配置文件。 5. 重启nginx服务,使配置生效。在终端中输入以下命令: ``` sudo service nginx restart ``` 其中,sudo表示以管理员权限执行命令。 6. 确保防火墙开放了443端口,允许外部访问。 配置完成后,即可通过https方式访问nginx服务器,但由于没有证书,浏览器将会提示网站存在不安全的连接。这种配置方式适用于个人测试、内部网站以及临时应用等不需要严格的安全认证的情况。 总结:以上是nginx证书配置https的步骤,通过修改nginx配置文件,使其监听443端口并启用SSL加密协议,即可实现https访问。但需要注意的是,由于没有证书,浏览器会提示网站不安全,所以该方式只适用于一些非正式、测试或临时使用的场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值