没有什么比错误消息更能让您的工作戛然而止了——尤其是在涉及安全的情况下。阅读“此站点无法提供安全连接”的通知可能会令人困惑和震惊。如果您在MAMP安装中遇到,它也可能具有破坏性,因为这些站点通常是本地测试安装。
此问题通常与您的Web浏览器或站点的SSL证书有关。幸运的是,修复它相对容易。这可能就像清除浏览器的缓存一样简单。
在本文中,我们将了解此错误消息的最常见原因。然后,我们将引导您了解如何进行故障排除和修复,以便您可以回到更重要的事情上。
此站点无法提供安全连接错误介绍
首先,什么是“安全连接”?本质上,它是到使用HTTPS而不是HTTP的网站的连接。大多数浏览器在地址栏中显示带有挂锁图标的这些站点,以表明连接是安全的。
闪电博使用加密的HTTPS连接
与HTTP相比,HTTPS提供了主要的安全优势,但它也有严格的要求以确保合规性。其中之一是存在有效的SSL证书。
“此站点无法提供安全连接(This site can’t provide a secure connection)”错误表示SSL证书存在问题。换句话说,该站点声称符合HTTPS,但它要么不提供证书,要么使用无效的证书。如果无法验证证书,浏览器将不会加载该站点,而是会显示此错误消息。
关于此通知的另一件事是,它的呈现方式可能因浏览器而异。但是,在每种情况下,该消息都会以某种形式提及安全连接。
以下是该消息在Google Chrome中的外观:
Google Chrome中的安全连接错误
在Mozilla Firefox中,它的显示方式如下:
Mozilla Firefox中的安全连接错误
在Microsoft Edge中的样子:
Microsoft Edge中的安全连接错误
如您所见,大多数浏览器没有提供有关错误消息的太多信息。Firefox至少为您提供了一些入门指导,但它仍然相当模糊。别担心 – 我们将在本文的其余部分清除任何混淆。
为什么会出现“此站点无法提供安全连接”错误
现在,只是因为你看到一个关于网站安全警告并不一定意味着该网站是不是安全。虽然这是一种可能性,但它通常更温和。常见原因分为两类:Web浏览器问题和站点或系统配置问题。
如果您在一个浏览器中看到错误,但该页面在其他浏览器中运行良好,则表明您的浏览器(通常是缓存)存在问题。如果错误出现在所有浏览器中,您就知道问题出在您使用的计算机或网站本身。
让我们探讨此错误消息的最常见原因:
- 您的本地环境没有SSL证书。如果您使用的是MAMP等本地环境,则您的站点可能没有证书。这应该是故障排除的第一步,因为这可能是导致问题的原因。
- 浏览器中过时的SSL缓存。这是比较流行的原因之一。Web浏览器将SSL证书存储在缓存中,就像其他数据一样。这意味着他们不必每次访问站点时都验证证书,从而加快了浏览速度。但是,如果您的SSL证书发生更改并且浏览器仍在加载较旧的缓存版本,则可能会导致弹出此错误。
- 计算机上的时间和日期设置不正确。如果您的计算机设置了错误的时间和日期,则可能会导致SSL证书身份验证出现问题。幸运的是,这是一个相当容易的修复。
- 流氓浏览器扩展。错误配置或行为不当的浏览器扩展也可能导致证书身份验证问题。虽然这可能 是恶意的,但更多时候是简单的编码错误。
- 过分热情的杀毒软件。同样,实时扫描您的连接的防病毒软件有时会抛出此消息。这可能是由于编码错误或仅仅是过于激进的设置。
- 无效或过期的SSL证书。如果您网站的SSL证书已过期或无效,您将看到此错误。证书需要定期更新。
在下一节中,我们将介绍如何解决MAMP安全连接错误。
使用MAMP时如何修复“此站点无法提供安全连接”错误
正如我们之前提到的,对于MAMP安装,此问题最有可能的罪魁祸首是您的本地主机环境缺少 SSL 证书。幸运的是,使用OpenSSL创建一个相对容易,这样做应该可以解决您的错误消息。以下说明是为macOS用户设计的,但它们也应该适用于Linux。
步骤 1:创建SSL根证书
首先,您需要创建一个SSL根证书。这使您能够为您的域签署额外的证书。
首先,在您的计算机上打开终端应用程序并输入以下命令:
openssl genrsa -des3 -out rootCA.key 2048
此命令生成文件名为rootCA.key的RSA-2048密钥。您将使用此密钥创建根证书。系统会要求您输入密码 – 记下它,因为在生成证书时您需要它来使用密钥。
接下来,您可以输入以下命令来创建根SSL证书:
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
证书将保存到rootCA.pem文件中。“1024”代表证书保持有效的天数——您可以将其更改为您想要的任何内容。
步骤 2:信任根证书
准备好根证书后,下一步是告诉操作系统 (OS) 信任它。这可确保默认情况下使用它创建的任何未来证书都是可信的,从而节省您的时间。
为此 ,请在macOS上打开Keychain Access应用程序,然后单击 侧栏中的系统和证书。接下来,选择File > Import Items,然后选择上一步中创建的rootCA.pem证书。
导入后,双击它并将使用此证书时的 选项更改为Always Trust。现在您已准备好为您的域创建SSL证书。
步骤 3:创建OpenSSL配置文件
接下来,您需要创建一个配置文件,其中包含您在创建证书时要使用的OpenSSL设置。首先,创建一个名为server.csr.cnf的文件。它应该包含以下内容:
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
[dn]
C=US
ST=RandomState
L=RandomCity
O=RandomOrganization
OU=RandomOrganizationUnit
emailAddress=hello@example.com
CN = localhost
Save this file, then create another one named
[req] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = dn [dn] C=US ST=RandomState L=RandomCity O=RandomOrganization OU=RandomOrganizationUnit emailAddress=hello@example.com CN = localhost Save this file, then create another one named
v3.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
, and add the following: authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = localhost
接下来,您将生成一个密钥来签署您的域SSL证书。
步骤 4:为本地主机生成证书密钥
返回终端应用程序并输入以下命令为localhost创建一个密钥:
openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config <( cat server.csr.cnf )
密钥存储在server.key文件中。
步骤 5:为您的本地域创建SSL证书
我们快完成了!现在是时候为localhost生成SSL证书了。您可以通过在终端应用程序中输入以下命令来执行此操作:
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext
此命令创建一个名为server.crt的证书文件。
步骤 6:激活localhost的SSL证书
最后,将 前两步中创建的server.key和server.crt文件复制到您的MAMP安装文件夹中。您现在可以在本地安装的WordPress上启用HTTPS,而不会收到“此站点无法提供安全连接”错误。
小结
MAMP中的“此站点无法提供安全连接”消息不仅会阻止访问您的站点,而且还会由于潜在的安全隐患而令人担忧。幸运的是,它通常是良性的并且相对容易修复。
此错误通常表示您的浏览器配置或站点上的SSL证书有问题(在localhost 上,这通常意味着您根本没有)。修复它只涉及使用OpenSSL为localhost生成SSL证书。按照上面列出的提示操作,您应该能够快速解决此错误,以便您可以重新开始工作。