本地使用 https 问题

本地使用 https 问题

我遵循了本教程:https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-20-04#step-3-%E2%80%93-configuring-apache-to-use-ssl

这是我的文件的内容/etc/apache2/sites-available/nestledevelopment.conf::

<VirtualHost *:443>
   ServerName nestledevelopment.local
   DocumentRoot /var/www/html/nestledevelopment/

   SSLEngine on
   SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
   SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
</VirtualHost>

命令sudo apache2ctl configtest显示: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Syntax OK

但当我访问我的虚拟主机 nestledevelopment.local 时,它仍然显示连接不安全。我需要接受风险并继续。

不确定我做错了什么,你能建议我去哪里找吗?我应该尝试什么?谢谢

答案1

自签名证书在定义上被视为不可信。证书与所谓的“信任链”一起工作:我信任 Alice,因为我信任 Bob,而 Bob 说 Alice 是值得信任的。我信任 Bob,因为我信任 Cleo,而 Cleo 说 Bob 是值得信任的。依此类推,直到你得出根证书随您的浏览器(或其他客户端)提供的。

假设你将浏览器指向https://askubuntu.com。该服务器为您提供了一个证书,上面写着“我是 askubuntu.com,诚实的,发誓!”。但是您的浏览器为什么要信任此证书?因为证书已经由证书颁发机构或 CA 颁发。在 AskUbuntu 的案例中,该 CA 是让我们加密。通过签名,Let's Encrypt 表示,“是的,该证书是服务器的https://askubuntu.com向您展示的验证是有效的,您可以信任它”。那么,下一个问题是,您的浏览器为什么要信任 Let's Encrypt?我们这里就处于上面看到的信任链中:经过一个或多个中介证书每个证书链都会将信任“传递”给另一个证书链,然后到达浏览器附带的一个根证书。

那么,这对你的自签名证书意味着什么呢?该证书不能浏览器可能接受,因为(正如该术语所指出的)您自己签名了。没有信任链。这有点像你想进入公司大楼,然后发出你自己门钥匙卡。这不太管用 ;)

所以您的配置可能完全没问题,至少您没有提供任何其他问题的迹象。您只需在浏览器中添加例外即可。

相关内容