这是我的文件的内容/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>
is的命令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 时,它仍然显示连接不安全。我需要接受风险并继续。
不知道我做错了什么,请您建议在哪里看?我应该尝试什么?谢谢
根据定义,自签名证书被认为是不可信的。证书与您所谓的“信任链”一起工作:我信任 Alice,因为我信任 Bob,他说 Alice 是值得信赖的。我信任 Bob,因为我信任 Cleo,她说 Bob 值得信赖。依此类推,直到您获得浏览器(或其他客户端)附带的根证书。
假设您将浏览器指向https://askubuntu.com。该服务器为您提供了一个证书,上面写着“我是 askubuntu.com,老实说,我的心!”。但是为什么你的浏览器应该信任这个证书呢?因为证书已由证书颁发机构或 CA签署。在 AskUbuntu 的案例中,CA 是Let's Encrypt。通过它的签名,Let's Encrypt 说:“是的,https: //askubuntu.com 上的服务器向您显示的证书是有效的,您可以信任它”。那么,下一个问题是,为什么您的浏览器应该信任 Let's Encrypt?在这里,我们处于我们在上面看到的信任链中:在一个或多个中间证书之后每个“传递”信任给另一个,链到达您的浏览器附带的根证书之一。
那么,这对您的自签名证书意味着什么?您的浏览器不可能接受该证书,因为(正如术语已经指出的那样)您自己签署了它。没有信任链。这有点像你想进入公司大楼,给自己发一张门禁卡。那不会完全飞起来;)
所以你的配置可能完全没问题,至少你没有提供任何其他问题的迹象。您只需在浏览器中添加一个例外。