我的SSL证书不受信任

我使用这个命令在我的服务器上创build了一个证书:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt 

并正确configuration一切,cuz我的网站是可用的时候键入https除http。 但是,有一个问题。 我的证书不受信任。

Firefox提示:

 sec_error_untrusted_issuer 

和Chrome:

 NET::ERR_CERT_AUTHORITY_INVALID 

有没有办法让我的证书信任? 所以错误不会发生?

因为我可以接受风险,并转发到网站,但这不会看起来好,谁将通过https访问我的网站。

Firefox:导航到https页面。 底部有一个“我明白风险”的选项。 放大本节和“添加例外”。

Chrome:这有点困难。 您必须将网络服务器提供的证书保存到您的文件系统,然后将证书导入Chrome。 设置 – >高级设置 – > HTTPS / SSL – >管理证书 – >服务器 – >导入。

如果您希望外部人员能够使用您的站点,则需要获得由证书颁发机构签名的证书。 然后你在你的web服务器上使用这个签名的证书。

证书颁发机构(颁发证书的机构)需要被浏览器信任。 自签名证书默认情况下不受信任。 因此,证书需要用户手动接受,这是最不会做的事情,在Chrome中奇怪的是非常困难。

对于管理员而言,只和专业用户打交道,这不是问题,但是对于大众来说,这是不可预料的。

如果你有自己的IP地址,这并不难,因为像startssl这样的地方有免费的证书,注册商如gandi.net也提供1年的免费证书。

如果您与其他人共享IP地址,则会有多个客户端无法有效导航(因为IP上只有一个SSL侦听器)。 Windows XP(所有浏览器),Android 2.x和Blackberry 7.x不支持包括域名的SSL协商扩展。

注意 – 现在是2017年8月,许多更少的设备不支持SNI,并且有免费(并且相当容易使用)的LetsEncrypt SSL证书 。