标签: SSL

  • 如何修复ERR_SSL_VERSION_OR_CIPHER_MISMATCH报错

    错误类型:
    安全相关错误
    错误名称:
    ERR SSL版本或密码不匹配
    英文名称:
    ERR_SSL_VERSION_OR_CIPHER_MISMATCH
    错误描述:
    ERR_SSL_VERSION_OR_CIPHER_MISMATCH错误通常发生在较旧的操作系统或浏览器上。
    错误变体:
    SSL_ERROR_NO_CYPHER_OVERLAP
    更多信息

    如何修复ERR_SSL_VERSION_OR_CIPHER_MISMATCH报错

    当您访问通过HTTPS运行的网站时,浏览器和Web服务器之间会执行一系列步骤,以确保证书和SSL/TLS连接有效。

    其中一些包括TLS握手、针对证书颁发机构检查的证书以及证书的解密。如果由于某种原因浏览器不喜欢它所看到的内容,例如配置错误或不受支持的版本,您的浏览器可能会显示以下错误:“ERR_SSL_VERSION_OR_CIPHER_MISMATCH”这会阻止您访问该站点。

    查看有关如何修复此错误的一些建议。

    ERR_SSL_VERSION_OR_CIPHER_MISMATCH的原因

    ERR_SSL_VERSION_OR_CIPHER_MISMATCH错误通常发生在较旧的操作系统或浏览器上。

    但情况并非总是如此。事实上,我们最近刚刚在他们的WordPress网站上遇到了一个有这个问题的用户,他从另一个主机迁移到另外一个主机。当然,我们运行的是最新版本的Chrome,所以问题出在他们的SSL证书上。Chrome实际上是通过不让您加载它来保护您。

    ERR_SSL_VERSION_OR_CIPHER_MISMATCH

    ERR_SSL_VERSION_OR_CIPHER_MISMATCH

    您可能还会看到错误的变体,例如:

    • Error 113 (net::err_ssl_version_or_cipher_mismatch): unknown error
    • The client and server don’t support a common SSL protocol version or cipher suite

    查看下面的原因,了解发生这种情况的原因以及您可以采取的措施。

    检查您的SSL证书

    如果您看到此错误,第一个也是最容易开始的地方是对站点上安装的证书执行SSL检查。我们建议使用Qualys SSL Labs提供的免费SSL检查工具。它非常可靠,只需在主机名字段中输入您的域,然后单击“提交”。

    如果您愿意,您还可以选择隐藏公开结果的选项。在您的Web服务器上扫描您站点的SSL/TLS配置可能需要一两分钟的时间。

    检查SSL证书

    检查SSL证书

    检查证书名称不匹配

    在这个特定的例子中,迁移另外一个主机的客户有一个证书名称不匹配,这会引发ERR_SSL_VERSION_OR_CIPHER_MISMATCH错误。正如您从下面的SSL Labs测试中看到的,这非常快速且易于诊断。正如SSL Labs所说,不匹配可能有多种情况,例如:

    • 该站点不使用SSL,但与其他使用SSL的站点共享一个IP地址。
    • 该站点不再存在,但域仍指向旧IP地址,现在托管了其他一些站点。
    • 该站点使用不支持SSL的内容交付网络 (CDN)。
    • 域名别名是针对不同名称的网站,但别名未包含在证书中。

    证书名称不匹配

    证书名称不匹配

    检查证书上当前域名问题的另一种简单方法是在站点上打开Chrome DevTools。右键单击网站上的任意位置,然后单击“检查”。然后单击安全选项卡并单击“查看证书”。颁发的域将显示在证书信息中。如果这与您当前所在的站点不匹配,则这是一个问题。

     

    检查SSL证书上颁发的域

    检查SSL证书上颁发的域

    但请记住,有通配符证书和其他变体,但对于典型站点,它应该完全匹配。然而,在我们的例子中,ERR_SSL_VERSION_OR_CIPHER_MISMATCH错误实际上阻止了我们在Chrome DevTools中检查它。这就是SSL Labs之类的工具可以派上用场的地方。

    检查旧的TLS版本

    另一个可能的原因是Web服务器上运行的TLS版本较旧。理想情况下,它应该至少运行TLS 1.2(更好的是TLS 1.3)。(建议阅读:如果您使用的是旧版TLS版本,您可能需要修复Chrome中的ERR_SSL_OBSOLETE_VERSION通知)。

    SSL Labs工具也可以提供帮助。在配置下,它将向您显示使用该证书在服务器上运行的TLS的当前版本。如果它是旧的,请联系您的主机并要求他们更新其TLS版本。

    TLS 1.3服务器支持

    TLS 1.3服务器支持

    检查RC4密码套件

    根据Google的ERR_SSL_VERSION_OR_CIPHER_MISMATCH文档的另一个原因是RC4密码套件在Chrome版本48中被删除。这不是很常见,但它可能发生在需要RC4的大型企业部署中。为什么?因为在更大和更复杂的配置中,一切通常都需要更长的时间来升级和更新。

    安全研究人员、Google和Microsoft建议禁用RC4。因此,您应该确保使用不同的密码套件启用服务器配置。您可以在SSL Labs工具中查看当前的密码套件(如下所示)。

    密码套件

    密码套件

    尝试清除计算机上的SSL状态

    要尝试的另一件事是清除Chrome中的SSL状态。就像清除浏览器的缓存一样,如果事情不同步,这有时会有所帮助。要在Windows上的Chrome中清除SSL状态,请按照下列步骤操作:

    • 单击Google Chrome – 设置图标 (Settings) 图标,然后单击设置。
    • 单击显示高级设置。
    • 在网络下,单击更改代理设置。出现Internet属性对话框。
    • 单击内容选项卡。
    • 单击“清除SSL状态”,然后单击“确定”。
    • 重新启动Chrome。

    在Windows上的Chrome中清除SSL状态

    在Windows上的Chrome中清除SSL状态

    如果您使用的是Mac,请参阅这些有关如何删除SSL证书的说明

    使用新的操作系统

    较旧的操作系统会随着TLS 1.3和最新的密码套件等新技术而过时,因为浏览器不再支持它们。最新SSL证书中的特定组件将停止工作。事实上,谷歌浏览器早在2015年就停止了对Windows XP的支持。我们始终建议尽可能升级到更新的操作系统,例如Windows 11或最新版本的Mac OS X。

    暂时禁用杀毒软件

    如果您仍然看到ERR_SSL_VERSION_OR_CIPHER_MISMATCH错误,我们建议您尝试的最后一件事是确保您没有运行防病毒程序。或者尝试暂时禁用它。某些防病毒程序会使用自己的证书在您的浏览器和Web之间创建一个层。这有时会导致问题。

  • 如何修复“SSL_ERROR_NO_CYPHER_OVERLAP”错误

    错误类型:
    浏览器错误
    错误名称:
    ERR SSL版本或密码不匹配
    英文名称:
    SSL_ERROR_NO_CYPHER_OVERLAP
    错误描述:
    除了错误消息外,Firefox可能还会向您显示“无法验证数据的真实性”。如果是这样,该消息还可能会建议您联系网站所有者。然而,虽然问题可能是由于网站造成的,但也可能与浏览器有关。
    错误变体:
    ERR_SSL_VERSION_OR_CIPHER_MISMATCH
    更多信息

    如何修复“SSL_ERROR_NO_CYPHER_OVERLAP”错误

    您可能会在网络上遇到各种与浏览器相关的问题。如果您使用的是Mozilla Firefox浏览器,那么这些潜在问题之一就是SSL_ERROR_NO_CYPHER_OVERLAP错误。与任何错误一样,它既令人沮丧又令人担忧,尤其是当您不知道是什么导致错误时。

    您可以采取一些简单的步骤来排除故障并解决此问题。更好地了解此错误背后的原因将有助于您立即修复它。

    在这篇文章中,我们将解释SSL_ERROR_NO_CYPHER_OVERLAP错误的含义及其一些可能的原因。然后,我们将向您介绍如何使用三种可能的方法修复它。

    1. 什么是“SSL_ERROR_NO_CYPHER_OVERLAP”错误?
    2. 修复“SSL_ERROR_NO_CYPHER_OVERLAP”错误的3种方法

    什么是“SSL_ERROR_NO_CYPHER_OVERLAP”错误?

    与其他浏览器错误不同,SSL_ERROR_NO_CYPHER_OVERLAP错误专门发生在Firefox中。谷歌浏览器有一个类似但略有不同的版本,其消息为“ ERR_SSL_VERSION_OR_CIPHER_MISMATCH ”。

    简而言之,当Firefox无法从您尝试访问的网站获取安全数据时,就会发生此错误。通常,当您尝试访问的站点较旧并且没有更新的安全套接字层 (SSL) 保护时,就会发生这种情况。

    如果您不熟悉,SSL是您的计算机和网站服务器之间的加密。如果您遇到此错误消息,则表示您的浏览器无法安全地在它们之间进行通信。重要的是要注意SSL本质上与传输层安全性 (TLS) 相同,稍后会再次出现。

    “SSL_ERROR_NO_CYPER_OVERLAP”错误的潜在原因

    除了错误消息外,Firefox可能还会向您显示“无法验证数据的真实性”。如果是这样,该消息还可能会建议您联系网站所有者。然而,虽然问题可能是由于网站造成的,但也可能与浏览器有关。

    更具体地说,您的Firefox版本或您的特定浏览器设置之一可能会导致网站和您的计算机之间出现错误通信。另一个潜在原因可能是禁用或错误配置TLS或SSL3设置。

    此外,您的浏览器和服务器必须同意相同的加密密码才能连接。由于存在漏洞,主要浏览器不再支持某些密码,例如RC4。如果您尝试连接的网站的服务器使用不受支持的加密方法,您可能会看到此错误。

    一些用户报告在安装Cloudflare后遇到此错误。这通常是因为浏览器不支持Cloudflare 的SSL证书使用的服务器名称指示 (SNI) 协议

    修复“SSL_ERROR_NO_CYPHER_OVERLAP”错误的3种方法

    现在我们对这个问题有了更多的了解,是时候修复它了。以下是可用于解决Firefox中的SSL_ERROR_NO_CYPHER_OVERLAP错误消息的三种潜在解决方案。

    1. 更新您的Firefox浏览器

    解决此错误的第一个也是最直接的方法是确保您使用的是最新版本的Firefox浏览器。为了让您的互联网体验尽可能顺畅,您应该经常这样做。

    要将您的 Firefox 浏览器更新到最新版本,请打开浏览器,单击汉堡菜单图标,然后导航至“帮助” >“关于Firefox”

     

    浏览器菜单中的“关于Firefox”选项

    浏览器菜单中的“关于Firefox”选项

    如果有任何可用更新,Firefox应立即开始下载它们:

     

    Firefox浏览器会通知用户正在下载更新

    Firefox浏览器会通知用户正在下载更新

    下载完成后,单击重新启动以更新Firefox按钮:

     

    Firefox“重启更新”选项

    Firefox“重启更新”选项

    或者,您可以从Firefox 网站获取最新版本的浏览器。在下载之前,请记住从计算机上卸载当前版本。

    要在Windows上执行此操作,请单击Windows + R键,然后在搜索框中键入“appwix.cpl”并按Enter。在程序管理器下,找到Firefox,右键单击它,然后选择卸载

    在macOS上,单击顶部工具栏中的前往 > 应用程序。然后将Mozilla Firefox拖到垃圾箱以将其删除。

    2. 重置您的TLS和SSL3设置

    如果您使用的是最新的Firefox版本或更新它没有帮助,您可以尝试的下一步是重置您的TLS和SSL3设置。某些网站需要这些协议才能建立连接。因此,如果您的禁用,这可能是您看到“SSL_ERROR_NO_CIPHER”错误的原因。

    要重置它们,请在Firefox浏览器中打开一个新选项卡,然后在地址栏中键入“about:config”。您可能会看到一条消息:“This might void your warranty!” 或“Proceed with Caution”:

     

    来自Firefox的“谨慎行事”安全警告通知

    来自Firefox的“谨慎行事”安全警告通知

    此警告是Firefox用来防止您意外更改浏览器设置的方式。单击“接受风险并继续”以继续。

    在下一个高级首选项屏幕上的搜索栏中,键入“tls”:

     

    Firefox高级首选项屏幕的搜索栏

    Firefox高级首选项屏幕的搜索栏

    键入这将生成所有TLS配置的列表:

     

    Firefox中的TLS配置列表

    Firefox中的TLS配置列表

    查找任何以粗体显示的值,因为它们是最近更改的值。对于任何粗体值,右键单击它们并选择重置以将它们恢复为默认设置。

    接下来,对SSL3重复相同的过程。在搜索栏中键入“ssl3”,并重置任何最近更改的值:

     

    Firefox中的SSL3配置列表

    Firefox中的SSL3配置列表

    另外,请确保将以下两项设置为false

    • security.ssl3.dhe_rsa_aes_128_sha
    • security.ssl3.dhe_rsa_aes_256_sha

    出于安全目的,阻止这些设置是必不可少的。

    3. 绕过您的安全协议和浏览器配置

    通常,我们建议您不要绕过浏览器安全协议,因为它们的目的是防止您访问不安全的网站。但是,如果您知道您尝试访问的站点是安全站点,则可以通过手动输入密码验证来绕过此错误。

    为此,请返回到Firefox 浏览器中的about:config屏幕。再次,在搜索栏中输入“tls”。从列表中,导航到security.tls.version.min

    在Firefox浏览器中找到security.tls.version.min首选项

    在Firefox浏览器中找到security.tls.version.min首选项

    单击最右侧的铅笔图标以编辑项目,然后输入“0”作为值。接下来,对security.tls.version.fallback-limit重复相同的过程

    绕过加密协议的最后一种方法是更改浏览器的隐私设置。为此,请打开Firefox菜单,然后导航至选项>隐私和安全

     

    Firefox设置中的隐私和安全菜单选项

    Firefox设置中的隐私和安全菜单选项

    安全部分下,取消选择阻止危险和欺骗性内容

     

    Firefox设置的“安全”部分

    Firefox设置的“安全”部分

    希望此时您已成功解决了错误。但是,如果不是,则很可能是服务器端问题。大多数情况下,当站点使用RC4-only密码套件时会发生这种情况。

    由于存在漏洞,主要浏览器不再支持某些密码,包括RC4。您可以运行SSL检查以验证您的SSL证书没有使用过时的密码。

    如果您不是网站所有者,唯一要做的就是与他们联系以确保他们知道问题所在。

    小结

    被拒绝访问您试图查看的网站从来都不是一件有趣的事情。当您面前的错误消息与SSL_ERROR_NO_CYPHER_OVERLAP错误一样令人困惑时,这可能会特别令人沮丧。幸运的是,您可以采取一些简单的步骤来解决这个与Firefox相关的问题:

    1. 将您的Firefox浏览器更新到最新版本。
    2. 重置您的TLS和SSL3设置。
    3. 绕过您的安全协议和浏览器配置。
  • 如何修复解决“SSL握手失败”报错

    错误类型:
    安全相关错误
    错误名称:
    SSL握手错误
    英文名称:
    SSL Handshake Failed
    错误描述:
    SSL握手失败或错误525意味着服务器和浏览器无法建立安全连接。这可能由于多种原因而发生。

    如何修复解决“SSL握手失败”报错

    如今为网站设置安全套接字层 (SSL) 证书非常简单。您可以免费生成证书,许多托管服务提供商甚至会为您设置。但是,如果您没有正确配置您的证书,您可能会遇到诸如“SSL握手失败”之类的错误。

    如果您遇到“SSL握手失败”错误消息并且对它的含义感到困惑,那么您并不孤单。这是一个常见的错误,它本身并不能告诉你太多。虽然这可能是令人沮丧的体验,但好消息是您可以采取一些简单的步骤来解决问题。

    当您的浏览器和服务器无法建立安全连接时,会出现“SSL握手失败”错误。

    在这篇文章中,我们将解释什么是SSL Handshake Failed错误以及导致它的原因。然后,我们将为您提供几种可用于修复它的方法。

    1. SSL握手简介
    2. 了解导致SSL握手失败的原因
    3. 如何修复SSL握手失败错误

    SSL握手简介

    在我们深入研究导致TLS或SSL握手失败的原因之前,了解什么是TLS/SSL握手会很有帮助。安全套接字层 (SSL)传输层安全性 (TLS)是用于验证服务器和外部系统(如浏览器)之间的数据传输的协议。

    需要SSL证书才能使用HTTPS保护您的网站。我们不会太深入地讨论TLS与SSL之间的区别, 因为它是次要的。这些术语经常互换使用,因此为简单起见,我们将使用“SSL”来指代两者。

    除此之外,SSL握手是建立HTTPS连接过程的第一步。为了验证和建立连接,用户的浏览器和网站的服务器必须经过一系列检查(握手),从而建立HTTPS连接参数。

    让我们解释一下:客户端(通常是浏览器)向服务器发送安全连接请求。发送请求后,服务器会向您的计算机发送一个公钥,并根据证书列表检查该密钥。然后,计算机使用从服务器发送的公钥生成密钥并对其进行加密。

    长话短说,没有SSL握手,就不会建立安全连接。这会带来重大的安全风险。此外,该过程涉及许多活动部件。

    这意味着有很多不同的机会出现问题并导致握手失败,甚至导致“您的连接不是私密连接”错误,从而导致访问者离开。

    您可能知道,SSL证书可以验证您网站的“身份”。它使用浏览器检查的加密密钥来确保证书有效。建立连接后,您的浏览器可以解密服务器发送的内容。

    这个过程称为“握手”。以下是它更详细的工作原理:

    1. 您访问具有SSL证书的网站,并且您的浏览器发送数据请求。
    2. 服务器向浏览器发送一个加密的公钥。
    3. 您的浏览器检查该密钥并将其加密密钥发送回服务器。
    4. 服务器解密密钥并将加密内容发送回您的浏览器。
    5. 您的浏览器解密内容(从而完成握手)。

    所有这一切都在几秒钟内发生。SSL证书和HTTPS协议使您的网站能够安全地传输数据,而不会对性能产生负面影响。这使得SSL证书对任何网站都至关重要。但是,就像您网站的任何元素一样,它有时会产生独特的问题。

    了解导致SSL握手失败的原因

    SSL握手失败或错误525意味着服务器和浏览器无法建立安全连接。这可能由于多种原因而发生。

    通常,错误525表示使用Cloudflare的域与源Web服务器之间的SSL握手失败。

    “SSL握手失败”错误准确地告诉您问题是什么。当您的浏览器无法与具有SSL证书的网站建立连接时,它会显示:

    ssl-handshake-failed

    在这个来自使用Cloudflare的网站的示例中,您可以看到“SSL握手失败”错误对应于“525”代码。因此,错误可能源于服务器端和客户端的问题。

    但是,了解SSL错误可能发生在客户端服务器端也很重要。客户端SSL错误的常见原因包括:

    • 客户端设备上的错误日期或时间。
    • 浏览器配置错误。
    • 被第三方拦截的连接。

    一些服务器端原因包括:

    • 密码套件不匹配。
    • 服务器不支持的客户端使用的协议。
    • 不完整、无效或过期的证书。

    通常,如果SSL握手失败,问题可能是由于网站或服务器及其SSL配置有问题。

    该列表包括本地问题,与您网站的服务器相关问题,一个特定于第三方服务的问题。在接下来的部分中,我们将探讨如何解决每个问题。

    如何修复SSL握手失败错误

    “SSL握手失败”错误背后有几个潜在原因。因此,当涉及到如何修复它时,没有简单的答案。

    幸运的是,您可以使用一些方法来开始探索潜在问题并一一解决。让我们看一下可用于尝试修复SSL Handshake Failed错误的五种策略。

    1. 更新您的系统日期和时间
    2. 检查您的SSL证书是否有效
    3. 为您的浏览器配置最新的SSL/TLS协议支持
    4. 验证您的服务器是否已正确配置为支持SNI
    5. 确保密码套件匹配

    1. 更新您的系统日期和时间

    当您的浏览器尝试建立SSL握手时,它会根据您计算机的日期和时间验证证书。它这样做是为了验证SSL证书是否仍然有效。

    如果您本地设备的日期和时间关闭,则可能会导致验证过程中出现错误(即没有握手)。幸运的是,这是一个简单修复的问题。

    在Windows设备上,打开开始 菜单并输入日期和时间设置。选择出现的选项,会弹出一个新窗口。启用设置自动设置时间,并确保您的时区正确:

    set-time-automatically

    验证您的日期现在是否正确,然后尝试重新加载网站。

    以下是在其他操作系统 (OS) 上修复日期和时间的方法:

    如果在本地设备上修复日期和时间不起作用,您可以继续进行下一个修复。

    2. 检查您的SSL证书是否有效

    SSL证书上标有到期日期,以帮助确保其验证信息保持准确。通常,这些证书的有效期为六个月至两年。

    如果SSL证书被吊销或过期,浏览器将检测到这一点并且无法完成SSL握手。如果您在网站上安装SSL证书已经超过一年左右,那么可能是时候重新颁发它了。

    要查看SSL证书的状态,您可以使用SSL证书检查工具 ,例如Qualys提供的工具:

    Qualys网站上的SSL服务器测试工具

    Qualys网站上的SSL服务器测试工具

    该工具既可靠又免费使用。您需要做的就是在Hostname字段中输入您的域名 ,然后单击Submit。一旦检查器完成对您网站的SSL配置的分析,它将为您提供一些结果:

     

    Qualys SSL检查工具的结果页面

    Qualys SSL检查工具的结果页面

    在此页面上,您可以查看您的证书是否仍然有效,并查看它是否因任何原因被吊销。

    在任何一种情况下,更新您的SSL证书都应该可以解决握手错误(这对于确保您的网站和WooCommerce商店的安全至关重要)。

    3. 为您的浏览器配置最新的SSL/TLS协议支持

    有时,确定问题根本原因的最佳方法是消除过程。正如我们前面提到的,SSL握手失败通常是由于浏览器配置错误而发生的。

    确定特定浏览器是否存在问题的最快方法是尝试切换到其他浏览器。这至少可以帮助缩小问题范围。您也可以尝试禁用任何插件并将浏览器重置为默认设置。

    另一个潜在的与浏览器相关的问题是协议不匹配。例如,如果服务器仅支持TLS 1.2,但浏览器仅配置为TLS 1.0或TLS 1.1,则没有相互支持的协议可用。这将不可避免地导致SSL握手失败。

    如何检查此问题是否发生取决于您使用的浏览器。作为一个例子,我们将看看这个过程在Chrome中是如何工作的。首先,打开浏览器并转到设置 > 高级。这将扩展许多菜单选项。

    在“系统 ”部分下,单击“打开计算机的代理设置”

    Google Chrome中的系统设置页面

    Google Chrome中的系统设置页面

    这将打开一个新窗口。接下来,选择高级选项卡。在安全部分下,检查是否选中了使用TLS 1.2旁边的框 。如果没有,请检查该选项:

    Windows中的Internet属性高级设置

    Windows中的Internet属性高级设置

    还建议您取消选中SSL 2.0和SSL 3.0的复选框。

    这同样适用于TLS 1.0和TLS 1.1 ,因为它们正在被淘汰。完成后,单击“ 确定” 按钮,然后检查握手错误是否已解决。

    请注意,如果您使用的是Apple Safari或Mac OS,则没有启用或禁用SSL协议的选项。默认情况下会自动启用TLS 1.2。如果您使用的是Linux,您可以参考Red Hat guide on TLS hardening

    4. 验证您的服务器是否正确配置为支持SNI

    SSL 握手失败也可能是由不正确的服务器名称指示 (SNI) 配置引起的。SNI使Web服务器能够为一个IP地址安全地托管多个TLS证书。

    服务器上的每个网站都有自己的证书。但是,如果服务器未启用SNI,则可能导致SSL握手失败,因为服务器可能不知道要提供哪个证书。

    有几种方法可以检查网站是否需要SNI。一种选择是使用我们在上一节中讨论过的Qualys的SSL服务器测试。输入您网站的域名,然后单击提交按钮。

    在结果页面上,查找显示“This site works only in browsers with SNI support”的消息:

    Qualys SSL检查器工具的摘要结果页面

    Qualys SSL检查器工具的摘要结果页面

    另一种检测服务器是否使用SNI的方法是浏览“ClientHello”消息中的服务器名称。这是一个技术性更强的过程,但它可以提供很多信息。

    它涉及检查“server_name”字段的扩展hello标头,以查看是否提供了正确的证书。

    如果您熟悉使用OpenSSL工具包 和Wireshark等工具,您可能会发现此方法更可取。您可以使用openssl s_client或不使用该-servername选项:

    # without SNI
    $ openssl s_client -connect host:port
    # use SNI
    $ openssl s_client -connect host:port -servername host
    # without SNI
    $ openssl s_client -connect host:port
    # use SNI
    $ openssl s_client -connect host:port -servername host
    # without SNI
    $ openssl s_client -connect host:port 
    # use SNI
    $ openssl s_client -connect host:port -servername host

    如果您获得了两个同名的不同证书,则意味着SNI受支持且配置正确。

    但是,如果返回的证书中的输出不同,或者没有SNI的调用无法建立SSL连接,则表明需要SNI但未正确配置。解决此问题可能需要切换到专用IP地址。

    5. 确保密码套件匹配

    如果您仍然无法确定SSL握手失败的原因,则可能是由于密码套件不匹配。如果您不熟悉该术语,“密码套件”是指一组算法,包括用于密钥交换、批量加密和消息身份验证代码的算法,可用于保护SSL和TLS网络连接。

    如果服务器使用的密码套件不支持或不匹配Cloudflare使用的密码套件,则可能导致“SSL握手失败”错误。

    在确定是否存在密码套件不匹配时,Qualys的SSL服务器测试再次证明是一个有用的工具。

    当您输入您的域并单击提交时,您将看到一个摘要分析页面。您可以在“Cipher Suites ”部分下找到密码信息:

    Qualys SSL报告中的密码套件部分

    Qualys SSL报告中的密码套件部分

    您可以使用此页面来发现服务器支持的密码和协议。您需要注意任何显示“弱”状态的内容。此外,本节还详细介绍了密码套件的具体算法。

    要更正此问题,您可以使用您的浏览器工具的Qualys SSL/TLS功能将结果与您的浏览器支持的内容进行比较。有关密码套件的更多信息和指导,我们还建议查看ComodoSSLStore指南

    小结

    最令人困惑但最常见的SSL相关问题类型之一是“SSL握手失败”错误。处理此错误可能会带来压力,因为它有许多潜在原因,包括客户端和服务器端问题。

    但是,您可以使用一些可靠的解决方案来识别问题并加以解决。您可以使用以下五种方法来修复SSL Handshake Failed错误:

    1. 更新您的系统日期和时间。
    2. 检查您的SSL证书是否有效(必要时重新颁发)。
    3. 配置您的浏览器以支持最新的TLS/SSL版本。
    4. 验证您的服务器是否已正确配置为支持SNI。
    5. 确保密码套件匹配。
  • SSL证书的类型:哪一种适合您的网站?

    SSL证书的类型:哪一种适合您的网站?

    使用SSL证书保护的网站让访问者知道它是安全的。它还获得了搜索引擎的认可,确认您的网站可以安全浏览。因此,您必须为您的网站获取有效的SSL证书。

    SSL是Secure Sockets Layer的缩写,是一种安全协议,可通过Web服务器和Web浏览器之间的网络连接对数据进行身份验证和加密。 SSL证书可保护您的站点与来自恶意方的访问者之间的连接。 SSL证书有不同的类型、验证级别和价格标签。但哪种SSL最适合您的网站和业务?

    在本指南中,我们深入探讨了不同类型的SSL证书,以帮助您做出正确的决定。继续阅读!

      1. 何时以及为何需要SSL证书
      2. SSL证书的工作原理
      3. SSL证书的类型
      4. SSL验证级别
      5. 不同SSL证书的优缺点
    1. 如何选择正确的SSL证书
    2. 访客如何知道您的网站是否有SSL证书
    3. SSL证书的成本

    何时以及为何需要SSL证书

    无论您经营电子商务商店还是博客,SSL对网站来说都变得与开车前系好安全带一样重要。以下是您的网站需要SSL证书的三个主要原因:

    1. 数据保护和访客信任

    SSL证书的主要目的是确保用户和网络服务器之间交换的数据经过加密,并免受黑客、网络钓鱼和身份盗用等网络威胁。

    您不希望访问者在访问您的网站时收到“您的连接不是私密连接”警告。有效的SSL证书将帮助您避免此类错误。

    SSL的核心是向访问者表明他们可以安全地在您的网站上共享信用卡号、ID、电子邮件地址和密码等敏感信息。因此,SSL加强了您和您的客户/访客之间的信任。

    2. 认证和完整性

    当您访问一个网站时,您将如何确保它是正确的,而不是窃取您信息的欺骗?当涉及到网络安全时,身份验证是必不可少的,这就是 SSL 的用武之地。 SSL/TLS 验证网络服务器身份的真实性。

    安装SSL证书,您必须经过身份验证过程。换句话说,SSL证明您的网站确实是您的网站,而不是您公司的欺骗或假冒产品,使其成为抵御网络钓鱼网站的有效屏障。了解如何验证您的SSL证书。

    数据完整性是SSL/TLS的另一个重要优势。使用消息验证码 (MAC),SSL/TLS表明传输的数据不会以任何方式丢失或更改。发送的消息按原样接收。

    3. 提高搜索引擎排名

    为了让所有人都可以更安全地浏览网页,谷歌等搜索引擎已经打击了不安全的网站,并明确表示他们更喜欢SSL加密网站——HTTPS而不是HTTP 。 SSL将超文本传输协议 (HTTP) 转变为安全超文本传输协议 (HTTPS)。

    SSL现在是SEO排名信号。因此,如果您希望您的网站出现在Google的第一页上,那么拥有有效的SSL证书是必不可少的条件之一。

    SSL证书的工作原理

    我们已经确定SSL会加密并保护托管服务器与访问者的应用程序(Web浏览器或应用程序)之间的连接。

    SSL证书的工作原理

    SSL证书的工作原理 (来源:entrust.com

    如果您想知道这是如何工作的,我们将探索一个示例。

    以您的网站为例,假设它使用SSL证书进行保护。当一个人使用网络浏览器访问您的网站时,他们的浏览器将请求您网站的托管服务器进行身份验证。

    服务器将通过向浏览器发送其SSL证书的副本来进行响应。浏览器还将进行一些验证检查以验证SSL证书是否可信并向服务器发送信号。

    服务器将以数字方式响应以在您的网站和访问者的浏览器之间开始SSL加密会话。

    SSL证书的类型

    区分SSL证书的类型有两个不同的类别 – 域和子域的数量,以及证书的验证级别。因此,有四种不同的SSL证书类型:

    单域名SSL证书

    顾名思义,这种类型的证书保护单域名和该域上的所有页面。但是,它不会保护任何关联的子域。

    例如,如果您有域名www.wbolt.com的SSL证书,它还会覆盖与该域相关的所有页面,例如www.wbolt.com/resources 。但它不会涵盖任何子域,例如tool.wbolt.com

    通配符SSL证书

    与单域名SSL证书一样,通配符SSL证书仅保护单个域名。但是,它还涵盖与该单个域相关的任何子域(无限数量的子域)。单个通配符SSL证书可保护所有这些证书。

    多域SSL证书

    此证书的用途与通配符SSL证书完全相反,因为它保护多个域名,但不保护任何相关的子域。它也称为主题备用名称 (SAN) 和统一通信证书 (UCC)。

    多域通配符SSL证书

    多域名通配符SSL证书结合了多域名和通配符SSL证书的特性。换句话说,使用单个证书,您可以保护多个域名及其所有相关子域。

    SSL验证级别

    SSL证书验证级别由证书颁发机构 (CA) 分配,在颁发SSL证书之前验证您的业务真实性。

    SSL证书有三种不同的验证级别:

    域验证 (DV) SSL证书

    DV是最简单的SSL证书验证形式,仅适用于域所有权验证。它通常通过电子邮件验证完成,不需要CA进行任何进一步调查。这也是获取SSL证书最便宜、最快捷的方式。

    组织验证 (OV) SSL 证书

    在验证方面,OV是下一个级别。除了验证你的域时,CA也验证您的企业直接联系您或您的业务。 CA会验证您是否拥有该域以及它是否用于合法注册的企业。这些证书被认为是非常可靠的。

    扩展验证 (EV) SSL证书

    EV在商业网站中很典型,可提供最高级别的信任和可靠性。它涉及对您的业务进行全面的背景调查。获取此证书涉及CA的严格审查过程。

    在某些浏览器上,带有EV SSL证书的企业名称会突出显示。访问他们的网站时,它们将在域名旁边以绿色显示。

    SSL 证书类型 验证级别
    单域 DV或OV
    通配符 DV或OV
    多域 EV
    多域通配符 EV

    不同SSL证书的优缺点

    在安全性方面,使用SSL证书保护您的网站不会带来任何缺点。但是,每种类型的证书都有其优点和缺点,因此每种证书都适用于不同的目的或需求。

    让我们看看上面讨论的不同SSL证书的优缺点。

    从单域SSL证书开始,最显着的优势是它是最实惠的证书类型,涵盖了与域相关的所有页面。唯一的挫折是它不保护任何子域。通配符SSL证书更昂贵,但它涵盖了单个域、其所有相关页面以及无限数量的第一级子域。不幸的是,它没有涵盖第二级的任何子域。

    多域SSL证书同时覆盖多个域。尽管它们看起来很昂贵,但您只需购买一个涵盖您所有域的SSL证书,而不是为每个域获取SSL证书,从而使其更具成本效益。

    兼具两种类型的优势,多域通配符SSL证书在一级覆盖多达100个域和无限子域。它唯一的缺点是其高昂的价格标签。但是和多域SSL证书一样,Wildcard SSL对于大型网站或者企业来说是非常划算的。

    如何选择正确的SSL证书

    如图所示,SSL证书有不同的风格。如果您希望您的网站看起来合法并受到访问者的信任,但不确定哪种SSL证书将满足您的需求,我们将帮助您做出正确的选择。

    • 对于具有单个域的小型或个人网站,单域SSL证书更适合您,因为它经济实惠且可以胜任。
    • 如果您的企业网站有一个域,但有多个子域,那么通配符SSL证书是可行的方法,并且比为每个子域获取单独的SSL证书便宜得多。
    • 对于较大的网站或拥有多个域的企业(例如拥有多个品牌的公司,每个品牌都有自己的域),多域SSL证书是一个明智的选择。它将涵盖您的所有域,并且肯定比为每个域获取SSL证书便宜。
    • 如果您的组织想要节省时间和金钱,多域通配符SSL非常适合保护多个域以及无限数量的子域。

    为便于参考,这里有一个快速表格,概述了每种SSL证书类型的优点:

    SSL证书 价格 好处 缺点 最适合
    单域 最便宜最实惠 保护单个域的可负担性 不保护子域 单个域的小型网站
    通配符 比单域SSL更昂贵,但更具成本效益 在第一级保护无限子域 它仅涵盖一个子域级别 具有单个域和多个子域的中小型网站
    多域 昂贵的 使用单个证书保护多个域 必须在颁发此证书之前定义域 拥有多个域名的大型商业网站
    多域通配符 最贵,但也是最划算的 单个证书在第一级保护多个域和无限子域 昂贵且对域和子域的任何更改都需要重新颁发此证书 具有多个域和子域的大型网站/企业

    访客如何知道您的网站是否有SSL证书

    您的访问者可以快速了解SSL证书是否可以保护您的网站,以及您的SSL证书是否有效。我们会告诉你如何。

    查看闪电博主页的地址栏,你会看到一个小挂锁。这意味着我们的网站受SSL保护。

    如果您使用的是Google Chrome浏览器,请单击挂锁标志并选择“证书”。您现在将看到您需要了解的关于安装在闪电博网站上的SSL证书的所有详细信息:谁颁发了它,它属于谁,以及它的有效期。

    除了小挂锁标志外,您还会注意到地址栏中的URL以HTTPS开头(在某些浏览器上默认隐藏)。 HTTPS表示我们网站上的连接是安全的,并且它具有授权的SSL证书。

    wbolt-ssl

    HTTPS在浏览器地址栏中的位置

    您是否在网站上安装了SSL证书,但访问者遇到了NET::ERR_CERT_AUTHORITY_INVALID错误?无需惊慌 — 查看此详细教程以了解如何修复此错误。

    SSL证书的成本

    SSL 证书的费用根据证书类型、验证级别和购买地点(例如Comodo、VeriSign、GeoTrust等)的不同而有所不同。

    在投资高级或付费SSL证书时,DV和单域SSL证书的成本是最实惠的。

    随着您的业务需求的增长以及您在SSL阶梯上采取更高的步骤,您会发现通配符SSL证书的成本更高。相比之下,OV和EV SSL证书是最昂贵的,并且为组织和企业提供最高的加密。

    小结

    几乎每个网站都广泛采用SSL证书来保证安全的互联网连接。随着网络威胁的增加,难怪流行的搜索引擎严格执行它。

    您现在对不同类型的SSL证书及其各种验证级别有了清晰的了解。我们希望它能帮助您为您的网站选择最合适的SSL证书。

    使用SSL证书保护您的网站后,请执行SSL检查以验证一切正常。从HTTP迁移到HTTPS需要进行很多更改,因此还请阅读我们的HTTP到HTTPS迁移指南。

  • SSL的工作原理及其重要性

    SSL的工作原理及其重要性

    SSL代表安全套接字层。它是用于保护和验证Internet数据的重要协议。由于Encrypt All The Things和Google推动更广泛采用SSL之类的运动,SSL已成为网络圈子中的热门话题。但尽管如此,许多网站管理员仍然不确定SSL的工作原理以及它的重要性……甚至不确定SSL最初代表什么!

    虽然我们已经介绍了首字母缩略词的含义,但我们将在本条目中更深入地挖掘并告诉您SSL是什么,以及它如何使网络成为您和您网站访问者的更好场所。

    SSL代表什么?SSL的工作原理

    重申一下——SSL代表安全套接字层。它是一种用于加密和验证应用程序(如浏览器)和Web服务器之间发送的数据的协议。这将为您和您网站的访问者带来更安全的网络。SSL与另一个首字母缩写词TLS密切相关。TLS是Transport Layer Security 的缩写,是原始SSL协议的继承者和更新版本。

    如今,SSL和TLS通常被称为一个组(例如 SSL/TLS)或可互换使用。例如,Let’s Encrypt(我们将在稍后详细讨论)广告提供“免费SSL/TLS证书”。但是您还会发现很多网站只是简单地讨论SSL证书,即使它们实际上是指TLS

    结合SSL和TLS的示例

    结合SSL和TLS的示例

    那么SSL最初从何而来,我们又是如何通过TLS走到今天的呢?SSL 1.0版是由Netscape在1990年代初期开发的。但由于安全漏洞,它从未向公众发布。SSL的第一个公开版本是1995年2月的SSL 2.0。虽然它是对未发布的SSL 1.0的改进,但SSL 2.0也包含自己的一组安全缺陷,这导致完全重新设计和随后发布的SSL 3.0版一年后。

    SSL 3.0版是最后一个公开版本,并在1999年引入TLS作为替代品时黯然失色。此时,SSL 3.0已被弃用且不再被视为安全,因为它容易受到POODLE攻击。至于TLS,它现在在TLS 1.3上,它提供了许多性能和安全性的改进。

    那为什么我们不都使用TLS证书呢?

    你很可能是。尽管网络社区为了方便起见通常将它们称为SSL证书,但证书实际上并不依赖于其名称中的特定协议。相反,使用的实际协议由您的服务器决定。这意味着即使您认为您安装了称为SSL证书的东西,您实际上很可能正在使用更新和安全的TLS协议。

    但是,在网络社区采用 TLS 术语之前,您可能会继续看到此类证书,为简单起见,这些证书通常称为 SSL 证书。

    HTTPS和SSL如何连接?

    创建Internet的人喜欢他们的首字母缩略词 – 在谈论SSL/TLS时您经常会看到的另一个术语是HTTPS。 HTTP(不带S)代表超文本传输​​协议。

    HTTP及其后继HTTP/2都是支持信息在Internet上传输的应用程序协议。它们本质上是Internet上数据通信的基础。当您添加回S时,它只是成为超文本传输​​协议安全(或HTTP over TLS或HTTP over SSL)。

    本质上,SSL/TLS保护通过HTTP发送和接收的信息。这有很多好处……

    使用SSL/TLS的好处是什么?

    许多网站管理员错误地假设SSL/TLS只为处理信用卡或银行详细信息等敏感信息的站点提供好处。虽然SSL/TLS对这些站点来说肯定是必不可少的,但它的好处绝不仅限于这些领域。

    SSL/TLS的主要优点之一是加密。每当您或您的用户在您的站点上输入信息时,该数据在到达最终目的地之前都会经过多个接触点。如果没有SSL/TLS,这些数据会以纯文本形式发送,恶意行为者可以窃听或更改这些数据。SSL/TLS提供点对点保护,以确保数据在传输过程中是安全的。即使是WordPress登录页面也应该加密!如果SSL证书存在但无效,您的访问者可能会遇到“您的连接不是私密连接”错误。

    另一个主要好处是身份验证。有效的SSL/TLS连接可确保将数据发送到正确的服务器和从正确的服务器接收数据,而不是恶意的“中间人”。也就是说,它有助于防止恶意行为者错误地冒充站点。

    SSL/TLS的第三个核心优势是数据完整性。SSL/TLS连接通过包含消息身份验证代码或MAC,确保在传输过程中不会丢失或更改数据。这可确保接收发送的数据而不会进行任何更改或恶意更改。

    除了加密、真实性和完整性之外,还有其他技术较少的好处,例如:

    如何判断网站是否使用SSL/HTTPS?

    查看网站是否使用SSL/TLS的最简单方法是查看您的浏览器。大多数浏览器用绿色挂锁和/或消息标记安全连接。例如,在Google Chrome中,您可以查找绿色挂锁和安全消息:

    Google Chrome如何显示HTTPS

    Google Chrome如何显示HTTPS

    在 Firefox 中,您只会看到一个挂锁:

    SSL的工作原理及其重要性插图3

    Firefox如何显示HTTPS

    在Microsoft Edge中,您实际上看不到颜色,而是一个简单的灰白色挂锁。

    Edge如何显示HTTPS

    Edge如何显示HTTPS

    谷歌会惩罚不使用SSL的网站吗?

    最近,谷歌在谷歌浏览器中针对未能安装SSL证书的网站推出了一套越来越严厉的处罚/警告。这些处罚始于2017年1月,在没有SSL证书的情况下要求提供信用卡详细信息或密码的页面上引入了不安全警告:

    2017年10月起Chrome不安全警告 

    2017年10月起Chrome不安全警告

    这一变化是谷歌推动增加SSL和HTTPS使用的第一个推动力。但最近,他们进一步加大了力度。

    2017年10月增加的不安全警告

    2017年10月,谷歌推出了更加激进的通知。从Chrome 62(2017年10月17日发布)开始,Google添加了不安全警告:

    • 用户输入任何类型数据的所有HTTP页面,包括像搜索框这样简单的内容。该警告不会出现在初始页面加载时,但会在用户开始在字段中输入数据时出现
    • Chrome隐身模式下的所有HTTP页面

    Chrome不安全警告

    Chrome不安全警告

    谷歌只会变得更具侵略性

    Google的长期计划 是最终将所有HTTP页面标记为Not secure。这意味着即使您不要求用户填写任何类型的表单字段,无论如何您最终都会收到警告。因此,您现在就开始计划迁移到SSL/TLS和HTTPS非常重要。

    2020年,当站点使用TLS 1.0或TLS 1.1(旧版本)时,Chrome开始显示ERR_SSL_OBSOLETE_VERSION警告通知。

    如何在您的网站上安装SSL证书

    许多主机可以轻松安装免费的SSL/TLS证书。一般个人站长最有可能使用名为Let’s Encrypt的服务,该服务提供免费的SSL/TLS证书。你可以查看详细的Let’s Encrypt证书申请及安装教程

    如果您的主机不提供免费SSL证书,或者您想要其他类型的SSL证书,您也可以从第三方提供商处购买自己的证书

    安装SSL证书后的操作

    是的 – 在安装SSL证书后,您需要执行技术和非技术操作。首先,在技术层面上,将所有HTTP流量重定向到HTTPS很重要。您还应该确保您没有通过HTTP加载任何资产。通常,这将是您自己的图像或您拉入的外部内容,例如脚本或外部广告服务。这有助于您避免混合内容警告

    除了这两个技术细节之外,您可能还需要执行以下任务,具体取决于您使用的工具:

    • 在Google网站管理员工具中添加您网站的HTTPS版本。
    • 确保将Google Analytics或其他跟踪脚本设置为使用HTTPS。
    • 确保您没有收到任何与SSL连接相关的错误消息。

    总而言之,SSL/TLS是创建安全、可靠的网络的重要协议。现在您已经了解SSL的工作原理,如果您还没有进行转换,我们鼓励您考虑安装SSL/TLS证书并将您的站点移至HTTPS。

    我们有一个非常详细的HTTP到HTTPS迁移教程,请确保您阅读它并按照步骤操作!

  • 如何在WordPress网站上安装通配符SSL证书

    如何在WordPress网站上安装通配符SSL证书

    在您的网站上安装安全套接字层 (SSL) 证书不再只是一种选择。它是保护您的站点以及确保数据通过HTTPS连接加密和提供服务的重要组成部分。但是,确定使用哪种类型的 SSL 证书可能很棘手,尤其是考虑到有多少种类。

    如果您操作多个子域,则使用“通配符”SSL 证书可能最有意义。这使您可以使用单个证书保护所有子域,而不必购买和安装多个单独的证书。

    在这篇文章中,我们将讨论什么是通配符SSL证书,以及何时以及为什么可以使用它。然后,我们将通过几个简单的步骤说明如何在您的站点上安装此类证书。

    1. 什么是通配符SSL证书(以及它们如何工作)
    2. 何时使用通配符SSL证书
    3. 从哪里获得通配符SSL证书
    4. 如何在WordPress站点上安装通配符SSL证书

    什么是通配符SSL证书(以及它们如何工作)

    通配符SSL提供了一种使用单个证书保护无限数量子域的方法。通配符 SSL 证书适用于为其提供的基本域名的任何子域。例如,如果您的域名是“yourwebsite.com”,则您的通配符证书还将保护“subsite.yourwebsite.com”和“subsite2.yourwebsite.com”。

    在通配符SSL证书上,在您的域名前放置一个星号 (*) 作为占位符,可以解释为任何字符串。您还可以使用这种类型的证书来涵盖域的“www”和非“www”变体。

    例如,我们的示例通配符证书可以使用的一些域和子域包括:

    • www.yourwebsite.com
    • yourwebsite.com
    • news.yourwebsite.com
    • blog.yourwebsite.com
    • shop.yourwebsite.com

    与单名称证书一样,通配符SSL证书通过一组密钥加密数据。这包括存储在数字证书上的公钥和保存在服务器上的私钥。但是,使用通配符证书,您可以复制私钥并将其上传到任意数量的服务器。

    通配符SSL与多域SSL

    请务必注意,通配符SSL与多域或主题备用名称 (SAN) SSL证书不同。多域SSL让您可以使用单个证书保护多个域子域,包括来自不同主机名的域子域。例如,您可以使用多域SSL来保护各种顶级域,例如:

    • www.yourwebsite.com
    • www.yourwebsiteblog.com
    • www.yourwebsitenews.com

    您还可以为这些站点中的每一个创建子域,并在单个证书下保护它们。但是,对于多域SSL证书,您必须在购买时定义子域名。如果您想稍后添加子域,则需要重新颁发证书。

    何时使用通配符SSL证书

    当您拥有单名称SSL证书时,向您的站点添加新的子域并为其颁发SSL证书并不一定是件大事。但是,如果您计划添加大量子域,这可能很快就会变成一个耗时且成本高昂的过程。

    因此,使用通配符SSL的主要好处是它可以为您节省大量时间和金钱。它还提供了比其他选项更大的灵活性。

    例如,与使用SAN SSL时不同,您在购买通配符SSL证书时无需定义子域。此外,每当您添加新的子域时,您都不必担心重新颁发证书。

    当您有一个包含多个一级子域的单个域(或计划在将来添加它们)时,使用通配符SSL是有意义的。这种证书可以帮助您同时保护所有这些证书。

    使用通配符SSL证书最有益的一些常见场景包括:

    • 您是一名经常使用子域测试环境的Web开发人员。
    • 您拥有一家企业,该企业针对组织的不同方面和实体(博客、商店等)使用单独的子域。
    • 您只需要一个顶级域,但计划使用多个子域(现在或将来)。

    几乎所有类型的网络浏览器和设备都支持通配符SSL证书,包括移动和台式计算机。此外,通配符SSL证书附带无限服务器许可政策和无限重新颁发政策。这意味着您可以根据需要在尽可能多的服务器上保护您的站点,并根据需要多次重新颁发证书。

    从哪里获得通配符SSL证书

    通配符SSL可用于域验证 (DV) 和组织验证 (OV)证书。前者使您能够保护您的域名和任意数量的子域,而后者使您可以验证您的业务以及您的域名和子域。

    OV证书要求您提交商业文件,并且可能需要几天时间来处理和验证。或者,可以在几分钟内颁发DV证书。请务必注意,通配符SSL在扩展验证 (EV) 证书上不可用。

    有多种证书颁发机构 (CA) 提供商提供通配符证书。一些流行的选项包括:

    • Comodo提供SSL DV通配符和SSL OV通配符证书选项。价格从每年89美元到每年超过1,000美元不等,具体取决于计划和订阅类型。
    • GeoTrust以每年688美元的价格提供True BusinessID通配符证书,以及每年745美元的QuickSSL® Premium通配符证书。
    • Thawte提供SSL通配符证书,起价为每年149美元。

    根据您的托管服务提供商和计划,您也可以通过它们购买通配符证书。例如,一些托管公司将与首选SSL合作伙伴合作,并提供通配符证书作为高级附加组件。

    如何在WordPress站点上安装通配符SSL证书

    如果您认为通配符SSL是您的最佳选择,并且您不想使用免费通配符SSL,那么下一步就是在您的WordPress网站上购买并安装它。安装SSL证书的过程可能略有不同,具体取决于您的主机和服务器类型。

    例如,某些托管计划不支持通配符SSL证书,或者仅将它们作为高级选项提供。

    同样,安装过程中涉及的步骤可能会有所不同,具体取决于Web主机的控制面板和界面。

    无论如何,所涉及的步骤大致相同。让我们来看看如何通过四个简单的步骤在您的WordPress站点上安装通配符SSL证书!

    第 1 步:购买您的通配符SSL证书

    第一步是购买您的SSL证书。正如我们之前提到的,有多种SSL提供商可供选择,它们提供通配符证书。最佳解决方案在很大程度上取决于您的特定需求和预算。

    当您购买SSL证书时,系统会要求您指明您的站点所在的服务器类型。您可以根据实际情况选择“Nginx”,“Apache”或“其他”。

    第 2 步:生成证书签名请求 (CSR) 代码和私钥

    下一步是生成CSR代码,这是SSL提供商创建和签署证书文件所必需的。要生成CSR代码和私钥,您可以在SSL.com填写在线CSR和密钥生成器表格

    在线CSR和密钥生成器表单

    在线CSR和密钥生成器表单

    我们建议填写以下字段:

    • 通用名称(域名)
    • 电子邮件地址
    • 组织
    • 城市/地区
    • 州/县/地区
    • 国家

    由于您正在生成通配符SSL证书,因此对于“通用名称”字段,请确保在您的域名(“*.yourdomain.com”)之前添加星号:

    CSR密钥生成器表单的“通用名称”字段

    CSR密钥生成器表单的“通用名称”字段

    完成后,单击屏幕底部的生成按钮。将自动生成私钥文件和CSR:

    从SSL.com生成的CSR和私钥

    从SSL.com生成的CSR和私钥

    您可以选择下载私钥复制CSR来保存此信息。您不仅在下一步需要它们,而且如果没有它们,您的SSL证书将无法使用。

    然后,返回您的SSL提供商并上传您的CSR。这将重新生成您的SSL证书 ( .cert ) 文件。

    第 3 步:将您的私钥和证书文件上传到您的服务器

    下一步是将您的 CSR 和私钥文件上传到您的服务器。如果您是宝塔用户,请登录宝塔面板后台并导航到网站> Your Site > 设置

    宝塔面板网站管理

    宝塔面板网站管理

    接下来,选择SSL选项,切换标签项为其他证书,填写您前面获取到的密钥和证书。

    自定义SSL域

    自定义SSL域

    请注意,如果您还想添加中间证书,也可以这样做。根据您使用的SSL提供商,他们可能会通过电子邮件向您发送.crt文件和.ca-bundle文件。如果您没有中间证书或知道它是什么,您可以使用诸如What’s My Chain Cert之类的工具来生成它。

    您可以使用记事本等文本编辑器打开这些文件。然后,您可以先将.crt文件的内容复制并粘贴到证书部分,然后再粘贴其下方的.ca-bundle文件的内容。完成后,单击“添加证书”按钮。

    正如我们提到的,上传您的私钥和证书文件的过程会因您的主机而异。你也可以使用cPanel/WHM,在SSL/TLS下添加此信息。

    第 4 步:确认通配符SSL证书安装成功

    如果您仔细执行了上述步骤,您现在应该已经在您的WordPress站点上成功安装了通配符SSL证书。但是,为了确认一切正常,您可能需要使用About SSL中的SSL Checker工具

    AboutSSL.com SSL检查器工具

    AboutSSL.com SSL检查器工具

    在此页面上,只需输入WordPress站点的URL,然后单击“检查”按钮。有关您的SSL证书的信息将自动显示在屏幕上。这将帮助您确认您的是否正确安装。

    如果一切看起来不错,就是这样!您现在已经安装了通配符SSL证书。安装SSL证书后,我们建议在您站点的数据库上运行搜索和替换,以将HTTP URL替换为HTTPS

    小结

    安装 SSL 证书是优化和保护网站的最重要步骤之一。但是,决定使用哪种类型的SSL证书可能会令人困惑。

    正如我们在这篇文章中所讨论的,使用通配符SSL证书可以通过保护单个证书上无限数量的子域来帮助您节省时间和金钱。您可以通过四个简单的步骤在您的站点上安装一个:

    1. 如果您更喜欢使用自定义通配符SSL,请从ComodoGeoTrust等CA购买自定义证书。
    2. SSL.com生成CSR和私有RSA密钥。
    3. 将您的通配符证书文件添加到您的服务器。
    4. 使用SSL Checker工具确认通配符SSL证书安装成功。
  • SSH与SSL有什么区别?

    SSH与SSL有什么区别?

    试图了解SSH与SSL之间的区别?

    在非常高的层次上,SSH和SSL都是帮助加密和验证在两台计算机(例如您的笔记本电脑和您网站的服务器)之间传递的数据的技术。基本上,它们使事情变得更加安全。

    然而,虽然它们在某些方面在高层次上是相似的,但它们服务于两个截然不同的目的,因此了解SSH与SSL之间的区别很重要。

    通常,SSL用于加密两个位置之间传输的数据,例如您的Web浏览器和您正在访问的站点的服务器。SSL是在Web浏览器中添加“绿色挂锁”的东西,如果您想在您的网站上安全地接受信用卡信息(或其他敏感数据),它也是您使用的东西。

    另一方面,SSH用于远程登录到另一台计算机(例如Web服务器)并创建安全连接以发出命令(通过SSH隧道)。例如,如果您想连接到站点的服务器以使用WP-CLI执行命令,您将使用SSH。大部分服务器,当您想通过SFTP访问连接到您的服务器时,您还将使用SSH 。

    在本文中,我们将向您介绍SSH和SSL以及它们的用途。然后,我们将更深入地探讨SSH与SSL之间的一些高级和特定技术差异。

    1. 什么是SSH?
    2. 什么是SSL?
    3. SSH与SSL之间的异同
    4. SSH与SSL的技术差异

    什么是SSH?

    SSH代表安全外壳。SSH提供了一种安全的方式来远程登录到另一台计算机并发出命令,例如您网站的服务器。

    使用SSH隧道,您将能够在客户端(例如您的计算机)和服务器(例如您网站的服务器)之间创建加密连接。

    要创建此安全SSH隧道,您需要使用用户名/密码或一组加密公钥/私钥进行身份验证。

    一旦您通过身份验证,您将能够安全地访问信息(例如您站点的文件和数据库)并通过命令行向远程服务器发出命令。

    你用SSH做什么?

    也许更好的问题是“您不能使用SSH做什么?”。一旦您通过SSH连接到您的服务器,您就拥有完全的控制权。只要您了解命令行,就可以执行您想要的任何命令。

    例如,如果您使用的是WordPress,则在连接SSH后,您可以使用WP-CLI与您的WordPress站点和插件进行交互。您可以创建内容、应用更新、管理分类等等。

    除了使用SSH能够通过命令行管理您的服务器之外,SSH还支持另一个重要工具 –  SFTP,SSH文件传输协议(也通常称为安全文件传输协议)的缩写。SFTP允许您通过安全的SSH隧道连接到您的服务器,然后像往常一样使用FTP管理文件。

    因为SFTP比常规未加密的FTP访问安全得多,建议使用SFTP代替FTP访问服务器。

    或者,您也可以使用SS 直接访问您站点的数据库 。

    基本上,一旦您使用SSH连接到您的服务器,您就有了很大的灵活性,因为您可以根据需要执行自己的命令,而SSL则不是这种情况。

    什么是SSL?

    SSL代表安全套接字层。虽然大多数人仍然提到SSL,但从技术上讲,SSL是更现代的传输层安全 (TLS) 协议的旧版本。但是,出于所有实际目的,您可以将SSL和TLS视为同一事物 ,我们将其称为 SSL。

    SSL是一种协议,主要旨在通过加密和身份验证保护两方之间的数据传输。最常见的是,这种传输是在某人的Web浏览器和他们正在访问的网站的服务器之间进行的。

    有几个关键的好处:

    • 加密 – SSL在数据传输过程中对其进行加密,这意味着恶意行为者无法拦截该信息。
    • 身份验证 – SSL还有助于验证数据发送到正确的服务器和从正确的服务器接收,这是防止中间人攻击的另一种方式。
    • 数据完整性 ——最后,SSL还通过确保数据在传输过程中不会丢失或更改来确保数据完整性。

    SSL通过使用证书工作,这就是为什么您会看到诸如“ SSL证书”之类的短语。

    然而,虽然SSL确实有助于对服务器进行身份验证,但它不需要来自客户端(例如网站访问者)的任何身份验证。这与SSH不同,SSH需要来自客户端的身份验证。

    您可以在我们关于SSL工作原理的文章中了解有关SSL的更多信息 。

    SSL证书是每个网站都必须具备的,但如果设置不正确,则可能会发生SSL连接错误

    你用SSL做什么?

    大多数人都知道SSL,因为在网站上安装SSL证书可以让您启用HTTPS 并在访问者的浏览器中获得非常重要的绿色挂锁。

    安装SSL证书并启用HTTPS后,在您的网站和访问者浏览器之间传递的数据将是安全的。

    如果您有任何类型的网站,例如电子商务,您绝对需要安装SSL证书,以便您可以获得上述好处并与您的访问者和搜索引擎(如 Google)建立信任。

    还有一个比较少见的混乱高级玩法,您还可以使用SSL通过FTP安全地传输文件。这称为FTPS,或SSL上的文件传输协议。这与SFTP不同,尽管它也有助于使FTP更安全。

    SSH与SSL之间的异同

    此时,您知道SSH与SSL之间有很多相似之处:

    • 两者都可以帮助您创建安全连接。
    • 两者都对在两个设备之间传递的数据进行加密。

    SSH与SSL之间的主要区别在于,SSH用于创建通往另一台计算机的安全隧道,您可以从中发出命令、传输数据等。

    另一方面,SSL用于在两方之间安全地传输数据——它不允许您像使用SSH那样发出命令。

    例如,假设您在使用笔记本电脑。以下是您何时会遇到每个协议的示例:

    • SSH  – 如果您想安全地连接到您网站的服务器并使用WP-CLI来管理您的WordPress站点,您可以使用SSH。
    • SSL  – 如果您想与网站上的前端表单交互以提交数据,您的服务器将使用SSL来加密表单数据,因为它在您的Web浏览器和您的服务器数据库之间传输。

    只要您安装了SSL证书并启用了HTTPS,访问您网站的每个人都将使用SSL与您网站的服务器进行交互——他们无需进行身份验证即可访问您的网站。

    但是,唯一与SSH交互的人将是您或其他应该可以直接访问您的服务器并且可以使用用户名/密码或加密密钥进行身份验证的技术用户。

    SSH与SSL的技术差异

    SSH与SSL之间当然存在很多技术差异。如果你是一个普通用户,这些对你来说可能没什么意义,但这些对于有技术头脑的人来说很重要:

    SSH SSL
    用于安全地远程连接到另一台机器以发出命令。 用于在两方之间安全传输数据 – 通常是您网站的访问者和您网站的服务器。
    基于网络隧道。 基于数字证书(即SSL证书)
    在端口22上运行 在端口443上运行
    要求客户端使用用户名/密码或加密密钥进行身份验证 只需要服务器端认证(客户端不需要认证)
    是加密网络协议 是安全协议

    小结

    回顾一下,SSH和SSL乍一看很相似,因为它们都可以帮助您创建安全连接。然而,它们有两个截然不同的目的。

    SSL主要用于加密在您网站的访问者和您的服务器之间移动的数据。例如,如果访问者输入他们的信用卡或在登录表单中输入他们的密码,SSL将加密该数据并保护它免受中间人攻击。

    另一方面,SSH用于安全地登录到远程机器,以便您可以发出命令、操作该机器上的文件等。如果您想使用WP-CLI,则需要SSH,通过SFTP、远程访问您的数据库等。

    唯一可以使用SSH连接到您的服务器的人是能够使用用户名/密码或 SSH 密钥进行身份验证的人。

  • TLS与SSL有什么区别?你应该使用哪一个?

    TLS与SSL有什么区别?你应该使用哪一个?

    TLS和SSL都是帮助您在Internet上安全地验证和传输数据的协议。但是TLS与SSL之间有什么区别?这是您需要担心的事情吗?

    在本文中,您将了解TLS与SSL之间的主要区别,以及这两种协议如何连接到HTTPS。您还将了解为什么作为最终用户,您可能不需要过多担心TLS与SSL,或者您使用的是“SSL证书”还是“TLS证书”。

    TLS和SSL之间有什么区别?

    TLS是传输层安全的缩写,SSL是安全套接字层的缩写,都是加密数据和在Internet上移动数据时验证连接的加密协议。

    例如,如果您在网站上处理信用卡付款,TLS和SSL可以帮助您安全地处理该数据,以便恶意行为者无法获得这些数据。

    那么TLS与 SSL之间有什么区别呢?

    好吧,TLS 实际上只是SSL的更新版本。它修复了早期SSL协议中的一些安全漏洞。

    在您详细了解细节之前,了解SSL和TLS的基本历史非常重要。

    SSL 2.0于1995年2月首次发布(由于安全缺陷,SSL 1.0从未公开发布)。尽管SSL 2.0已公开发布,但它也包含安全漏洞,并在1996年迅速被SSL 3.0取代。

    然后,在1999 年,TLS (1.0) 的第一个版本作为对SSL 3.0的升级发布。从那以后,又发布了三个TLS版本,最新版本是2018年8月的TLS 1.3。

    此时,两个公共SSL版本都已弃用,并且存在已知的安全漏洞(稍后会详细介绍)。

    以下是SSL和TLS版本的完整历史:

    • SSL 1.0 – 由于安全问题从未公开发布。
    • SSL 2.0 – 1995年发布。2011年弃用。存在已知的安全问题。
    • SSL 3.0 – 1996年发布。2015年弃用。存在已知的安全问题。
    • TLS 1.0 – 1999年作为SSL 3.0的升级发布。计划在2020年弃用。
    • TLS 1.1 – 2006年发布。计划在2020年弃用。
    • TLS 1.2 – 2008年发布。
    • TLS 1.3 – 2018年发布。

    TLS和SSL如何保护数据?

    以下是SSL和TLS工作原理的高级流程。

    当您在Web服务器上安装SSL/TLS证书通常简称为“SSL 证书”)时,它包含一个公钥和一个私钥,用于验证您的服务器并让您的服务器加密和解密数据。

    当访问者访问您的站点时,他们的Web浏览器将查找您站点的SSL/TLS证书。然后,浏览器将执行“握手”以检查您的证书的有效性并验证您的服务器。如果SSL证书无效,您的用户可能会遇到“您的连接不是私密连接”错误,这可能会导致他们离开您的网站。

    一旦访问者的浏览器确定您的证书有效并对您的服务器进行身份验证,它实际上会在它和您的服务器之间创建一个加密链接,以安全地传输数据。

    这也是HTTPS的用武之地(HTTPS代表“HTTP over SSL/TLS”)。

    HTTP和更新的HTTP/2是应用程序协议,在通过Internet传输信息方面发挥着重要作用。

    使用普通HTTP,该信息容易受到攻击。但是,当您通过SSL或TLS (HTTPS)使用HTTP时,您会在传输过程中对该数据进行加密和身份验证,从而确保其安全。

    这就是为什么您可以通过HTTPS而不是通过HTTP安全地处理信用卡详细信息的原因,也是Google Chrome如此努力地推动采用HTTPS的原因。

    如果不推荐使用SSL,为什么将其称为SSL证书?

    在上面,您了解到TLS是SSL的最新版本,并且SSL的两个公开版本都已弃用多年,并且包含已知的安全漏洞。

    您可能想知道:为什么将其称为SSL证书而不是TLS证书?毕竟,TLS是现代的安全协议。

    不,大多数人仍然将它们称为SSL证书的原因基本上是品牌问题。大多数主要的证书提供商仍然将证书称为SSL证书,这就是命名约定仍然存在的原因。

    实际上,您看到的所有“SSL证书”实际上都是SSL/TLS 证书

    也就是说,您可以将SSL和TLS协议与您的证书一起使用。

    没有SSL证书或TLS证书之类的东西,您无需担心将SSL证书替换为TLS证书。

    您应该使用TLS还是SSL?TLS会取代SSL吗?

    是的,TLS正在取代SSL。是的,您应该使用TLS而不是SSL。

    正如您在上面了解到的,SSL的两个公开版本都已弃用,这在很大程度上是因为它们中存在已知的安全漏洞。因此,SSL在2019年及以后并不是完全安全的协议。

    TLS是更现代的SSL版本,是安全的。此外,最新版本的TLS还提供了性能优势和其他改进。

    TLS不仅更安全、更高效,而且大多数现代 Web浏览器不再支持SSL 2.0和SSL 3.0。例如,谷歌浏览器早在2014年就停止支持SSL 3.0 ,大多数主流浏览器都计划在2020年停止支持TLS 1.0和TLS 1.1。

    事实上,谷歌开始在Chrome中显示ERR_SSL_OBSOLETE_VERSION警告通知。

    那么如何确保您使用的是最新版本的TLS而不是较旧的、不安全的SSL协议?

    首先,请记住您的证书与您的服务器使用的协议不同。你不会需要您的证书更改为使用TLS。尽管它可能被标记为“SSL证书”,但您的证书已经同时支持SSL和TLS协议。

    相反,您可以控制您的网站在服务器级别使用的协议。

    您可以使用SSL Labs工具检查为您的站点启用了哪些协议。

    如何测试您的服务器使用哪些SSL/TLS协议

    如何测试您的服务器使用哪些SSL/TLS协议

    如果您发现您的服务器仍然支持已弃用的SSL协议,您可以联系主机支持部门寻求帮助或按照以下说明在两个最流行的Web服务器(Apache和Nginx)上禁用SSL :

    为什么启用多个TLS协议?

    如果TLS 1.3是最现代、性能最好的协议,为什么还要麻烦启用稍旧的TLS 1.2协议?

    换句话说:启用多个协议有什么好处?

    正如您在上面了解到的,SSL/TLS握手有两个部分:

    1. 您的网络服务器
    2. 客户端(通常是访问者的网络浏览器)

    为了使握手工作,两者都需要支持相同的协议。

    因此,拥有多个协议的主要好处是兼容性。

    例如,虽然Chrome和Firefox在2018年发布后几乎立即添加了对TLS 1.3的支持,但苹果和微软花了更长的时间来添加TLS 1.3支持。

    即使在2019年,以下浏览器仍然缺乏TLS 1.3支持

    • Internet Explorer
    • Opera Mini
    • Android Browser
    • Opera Mobile
    • UC Browser for Android
    • Samsung Internet
    • Baidu Browser

    TLS 1.3网络浏览器支持

    TLS 1.3网络浏览器支持

    但是,虽然TLS 1.3仍未完全采用,但所有主要浏览器在2019年都支持TLS 1.2

    TLS 1.2网络浏览器支持

    TLS 1.2网络浏览器支持

    通过在您的服务器上同时启用TLS 1.3和TLS 1.2,您无论如何都可以确保兼容性,同时仍然可以为支持它的浏览器(如Chrome和Firefox)获得TLS 1.3的好处。

    如果您想检查您的网络浏览器使用的是哪个SSL/TLS版本,您可以使用How’s My SSL工具

    如何测试浏览器使用的SSL/TLS协议

    如何测试浏览器使用的SSL/TLS协议

    小结

    总而言之,TLS和SSL都是对Internet上的数据传输进行身份验证和加密的协议。

    两者紧密相连,而TLS实际上只是更现代、更安全的SSL版本。

    尽管SSL仍然是Internet上的主导术语,但大多数人在说SSL 时真正指的是TLS,因为SSL的两个公共版本都不安全,并且早已被弃用。

    要同时使用SSL和TLS协议,您需要在服务器上安装一个证书(这是在WooCommerce上安装SSL证书的方法)。同样,虽然大多数人都称这些为“SSL证书”,这些证书支持双方的SSL和TLS协议。

    你没有必要担心“转”你的SSL证书为TLS证书。如果您已经安装了“SSL证书”,您可以确信它也支持TLS。

    使用最新版本的TLS很重要,因为SSL不再安全,但您的证书并不能确定您的服务器使用的协议。相反,一旦您拥有证书,您就可以选择在服务器级别使用哪些协议。

  • WordPress网站从HTTP迁移到HTTPS深入指南

    WordPress网站从HTTP迁移到HTTPS深入指南

    2018年7月,谷歌浏览器开始将所有非HTTPS网站标记为“不安全”,无论它们是否收集数据。从那时起,HTTPS变得比以往任何时候都更加重要!

    在今天的文章中,我们将深入探讨从HTTP到HTTPS的迁移,并分享实用技巧,以期使您的WordPress网站的过渡尽可能顺利。对于WordPress网站所有者来说,如果您能积极主动,那总是很棒的。

    由于新的网络协议、SEO优势以及更准确的推荐数据,现在正是将您的WordPress网站迁移到HTTPS的最佳时机。在下面了解更多原因和方法。

    1. 什么是HTTPS?
    2. 为什么要使用HTTPS?
    3. HTTP到HTTPS迁移指南

    什么是HTTPS?

    HTTPS(安全超文本传输​​协议)是一种允许您的浏览器或Web应用程序与网站安全连接的机制。HTTPS是帮助确保您的浏览安全的措施之一。

    这包括登录您的银行网站、获取信用卡信息,甚至登录您的 WordPress 网站的后端。WordPress网站上的HTTPS要求您拥有用于加密的SSL证书。这确保了任何数据都不会以纯文本形式传递。

    根据Builtwith的数据,截至2022年3月,前10,000个网站中有73.08%使用HTTPS。这比2018年2月的49.8%有所上升:

    热门网站的HTTPS使用情况

    热门网站的HTTPS使用情况

    MozCast报告称,截至2022年5月,超过98.9%的搜索查询是通过HTTPS进行的,高于2016年1月的26%。这表明许多网站正在从HTTP迁移到HTTPS。

    甚至谷歌也在推动其产品和服务的100%加密标记。截至2022年5月,大约95%的Google流量是通过HTTPS传输,高于2013年12月的48%。

    MozCast HTTPS查询

    MozCast HTTPS查询

    根据Firefox遥测数据和Let’s Encrypt统计数据,超过78%的页面加载现在是HTTPS。

    为什么要使用HTTPS?

    WordPress网站所有者应该关心HTTPS并考虑现在而不是以后从HTTP迁移到HTTPS的原因有很多。

    1. 安全

    当然,HTTPS的最大原因是增加了安全性。您现在通过从HTTP迁移到HTTPS,通过加密的SSL/TLS连接为您的网站提供服务。这意味着数据和信息不再以纯文本形式传递。对于处理信用卡信息的电子商务网站,这是必不可少的。技术上没有法律要求,但您作为企业有责任保护您的客户数据。

    这也适用于您的WordPress登录页面或博客。如果您通过HTTP运行多作者WordPress网站,则每次有人登录时,该信息都会以纯文本形式传递给服务器。HTTPS对于维护安全的网站和浏览器连接至关重要。这样,您可以更好地防止黑客访问您的网站。

    2. 搜索引擎优化

    Google已经正式表示HTTPS是一个排名因素。虽然这只是一个很小的排名因素,但你们中的大多数人可能会利用在SERP中获得的任何优势来击败竞争对手。

    由于谷歌推动大家将HTTP重定向到HTTPS,你可以打赌这个排名因素的权重在未来很可能会增加。Semrush的一项研究发现, Google上98%的表现最佳的精选片段内容使用HTTPS。

    3. 信任和信誉

    根据最近的研究,大多数互联网用户都担心他们的数据如何在网上被截获或滥用。

    HTTPS可以通过建立我们所说的SSL信任来帮助您的业务。通过查看URL旁边的挂锁图标,客户会更加安心,因为他们知道他们的数据更安全。

    4. 推荐数据

    这个原因适用于所有的营销人员。如果您使用Google Analytics,您可能对推荐数据很熟悉。许多人没有意识到HTTPS到HTTP推荐数据在Google Analytics中被阻止。那么数据会发生什么变化呢?其中大部分只是与“直接流量”部分混为一谈。如果有人从HTTP转到HTTPS,则仍会传递引荐来源网址。

    这也很重要,因为如果您的引荐流量突然下降,但直接流量上升,则可能意味着您的较大引荐来源之一最近已迁移到HTTPS。反之亦然。查看Moz关于直接流量的更深入指南。

    5. Chrome警告

    截至2018年,Chrome 68及更高版本已将所有非HTTPS网站标记为“不安全”,即使它们不收集数据:

    Chrome上的连接不安全

    Chrome上的连接不安全

    2021年,对于不完整的URL,浏览器开始默认使用HTTPS。例如,如果用户键入“domain.com”,Chrome将自动使用“https://domain.com”。如果HTTPS由于缺少SSL/TLS而失败,它将恢复为HTTP。

    Chrome拥有超过77%的浏览器市场份额,因此这将影响您的许多访问者。您还可以在Google Analytics中的Audience >Technology >Browser & OS下查看访问者正在使用哪些浏览器:

    在Google Analytics中检查浏览器

    在Google Analytics中检查浏览器

    谷歌向访问者明确表示您的WordPress网站可能无法在安全连接上运行。以下是Google关于如何避免警告的一些提示。

    Firefox也紧随其后,在2017年发布了Firefox 51,为收集密码的非安全站点显示了一个带有红线的灰色挂锁。当然,如果您将整个站点迁移到HTTPS,那么您不必担心这一点:

    您的连接不是私密连接

    您的连接不是私密连接

    如果您尚未迁移到HTTPS,您可能还会开始从Google Search Console收到以下警告:

    致: http://www.domain.com的所有者

    以下URL包含将触发新Chrome警告的密码或信用卡详细信息的输入字段。查看这些示例以查看这些警告将出现在何处,您可以采取措施帮助保护用户的数据。该列表并不详尽。

    http://www.domain.com

    新警告是长期计划的第一阶段,将通过非加密HTTP协议提供的所有页面标记为“不安全”。

    6. 性能

    最后但同样重要的是,由于名为HTTP/2的协议,那些通过HTTPS运行经过适当优化的站点通常可以看到速度提高。

    由于浏览器支持,HTTP/2需要HTTPS。性能提升有多种原因,例如HTTP/2能够支持更好的多路复用、并行性、Huffman编码的HPACK压缩、ALPN扩展和服务器推送。过去在HTTPS上运行的TLS开销相当大,但现在要少得多。

    TLS 1.3也发布了,它可以进一步加快HTTPS连接!

    同样重要的是要注意,域分片和连接等Web性能优化可能会损害您的性能。这些现在已经过时,并且在大多数情况下不应再使用。

    默认情况下,网络上的所有内容都应加密。– Jeff Atwood,Stack Overflow的联合创始人

    HTTP到HTTPS迁移指南

    是时候进入有趣的部分了:将您的WordPress网站从HTTP迁移到HTTPS。让我们首先回顾一些基本要求,以及一些需要注意的事项。

    • 您将需要SSL证书。我们将在下面对此进行更详细的介绍。
    • 仔细检查以确保您的WordPress主机和CDN提供商支持HTTP/2。
    • 您需要留出大量时间将HTTP重定向到HTTPS。迁移不是5分钟就能完成的事情。
    • 仔细检查以确保您使用的所有外部服务和脚本都有可用的HTTPS版本。
    • 重要的是要知道,除非您使用支持分享恢复的插件,否则您将失去所有文章和页面上的社交分享计数。这是因为您的分享计数基于查看HTTP版本的API,并且您无法控制3rd方社交网络。
    • 根据您网站的大小,Google可能需要一段时间才能重新抓取所有新的HTTPS页面和文章。在此期间,您可能会看到流量或排名的变化。
    • 不要忘记本地引用

    我们建议在开始之前关闭CDN集成并禁用任何缓存插件,因为这些会使事情复杂化。

    1. 选择SSL证书

    如果您没有SSL证书,您需要做的第一件事就是购买SSL证书。您可以选择三种主要类型的证书:

    • 域验证:单个域或子域(电子邮件或DNS验证),在几分钟内发布。这些通常可以低至每年9美元购买。
    • 业务/组织验证:单个域或子域需要提供更高级别的安全/信任的业务验证,在1-3天内发布。
    • 扩展验证:单个域或子域需要提供更高级别的安全/信任的业务验证,在2-7天内发布。

    Google建议使用2048位或更高的密钥证书。您可以从ComodoDigiCertGeoTrustThawteRapid SSLTrustwave购买证书 。还有更便宜的替代品,例如GoGetSSLNamecheap和GoDaddy。

    Let’s Encrypt还提供了一种获取免费SSL证书的方法。请咨询您的WordPress主机和CDN提供商,看看他们是否有Let’s Encrypt集成。您还可以按照Certbot指南了解如何手动安装它们。Let’s Encrypt证书每90天过期一次,因此必须有一个自动化系统。

    2. 安装自定义SSL证书

    如果您购买了SSL证书,则需要在您的WordPress网站上安装SSL证书。在通过供应商设置的证书时,系统会要求您提供服务器类型。如果您的网络服务器是Nginx。如果该选项不可用,那么“其他 ”也可以使用。

    SSL提供者将需要一个CSR代码来创建/签署证书文件。如需生成CSR代码和RSA密钥,请填写以下表格:https://www.ssl.com/online-csr-and-key-generator/

    我们建议填写每个字段,但至少应填写以下内容(如下面的屏幕截图所示):

    • 通用名称(域名)
    • 电子邮件地址
    • 组织
    • 城市/地区
    • 州/县/地区
    • 国家

    注意:对于通用名称字段,如果您正在生成通配符证书,则需要输入您的域名,例如 *.domain.com。

    生成CSR表格

    生成CSR表格

    该表单将生成您的私钥文件和CSR。确保保存它们,因为没有它们,证书将无法使用:

    CSR和私钥

    CSR和私钥

    接下来,使用您的SSL提供商上传您的CSR以重新生成您的SSL证书 (.cert)。

    然后,您需要去您的WordPress主机并给他们证书和私钥。如果您是宝塔用户,您可以登录仪表板-网站,然后找到您需要配置SSL的网站,然后点击该网站对应的SSL证书操作项。

    选择其他证书,然后,您就可以在那里添加您的私钥和证书:

    添加自定义SSL

    添加自定义SSL

    完成后,选择保存退出即可。

    3. 验证您的SSL证书

    现在您已经安装了SSL证书,您需要对其进行验证以确保一切设置正确。一种快速简便的方法是使用Qualys SSL Labs提供的免费SSL检查工具。如果一切都正确,你应该在测试中获得A字母等级,如下图所示: 检查SSL证书等级

    检查SSL证书等级

    查看关于如何执行SSL检查的更深入的教程。

    4. 将HTTP重定向到HTTPS

    验证SSL证书后,接下来必须将所有HTTP流量永久重定向到HTTPS。在WordPress中将HTTP重定向到HTTPS时有几个选项。

    这使您可以在服务器级别单击几下将HTTP流量自动重定向到HTTPS。你也可以在你的网络服务器的配置中手动完成,或者使用免费的WordPress插件。

    注意:我们的示例都包含一个301重定向指令,这是在SEO方面实现它的正确方法。使用不同类型的重定向可能会损害您的排名。同样重要的是要知道301重定向可能不会通过100%的链接权重,即使Google可能会说他们会这样做。查看Cyrus在Moz的这篇关于HTTPS迁移和301重定向的文章。

    选项 1:在Nginx中将HTTP重定向到HTTPS

    如果您的Web服务器正在运行Nginx,您可以通过将以下代码添加到Nginx配置文件来轻松地将HTTP重定向到HTTPS:

    server {
    listen 80;
    server_name domain.com www.domain.com;
    return 301 https://domain.com$request_uri;
    }
    server {
    listen 80;
    server_name domain.com www.domain.com;
    return 301 https://domain.com$request_uri;
    }
    server {
    listen 80;
    server_name domain.com www.domain.com;
    return 301 https://domain.com$request_uri;
    }

    这是重定向在Nginx上运行的WordPress的推荐方法。

    在Apache中将HTTP重定向到HTTPS

    如果您的Web服务器正在运行Apache,您可以通过将以下代码添加到您的.htaccess文件来将所有HTTP流量重定向到HTTPS:

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    这是重定向在Apache上运行的WordPress的推荐方法。

    选项 2:使用Really Simple SSL插件将HTTP重定向到HTTPS

    您必须从HTTP重定向到HTTPS的第三个选项是使用免费的Simple SSL插件: Really Simple SSL

    Really Simple SSL

    我们不建议将此方法作为永久解决方案,因为第三方插件可能会引入另一层问题和兼容性问题。这是一个很好的临时解决方案,但您应该更新硬编码的HTTP链接,我们将在下一步中向您展示。

    实施HSTS标头(可选)

    HSTS(HTTP严格传输安全)是您添加到Web服务器的安全标头,当站点通过HTTPS运行时,它会强制浏览器使用安全连接。这有助于防止中间人攻击 (MitM) 和 cookie 劫持。您可以将上述301重定向与HSTS标头一起使用。查看我们关于如何添加HSTS的深入文章。

    5.检查重定向过多

    添加从HTTP到HTTPS的重定向后,您应该仔细检查以确保没有太多重定向。这个问题很常见,会影响您的WordPress网站的速度。您可以使用Patrick Sexton的重定向映射器工具快速查看您的网站上有多少重定向。

    下面您将看到一个设置不正确的重定向示例。这在使用重定向映射器时很容易发现:

    重定向设置不正确

    重定向设置不正确

    您可以看到在www和非www版本上都发生了重复的HTTPS重定向。

    以下是正确设置重定向的示例:

    重定向设置正确

    重定向设置正确

    如您所见,只有一个重定向。您可以查看我们关于WordPress重定向和最佳实践的深入文章,以获得更快的性能。

    现在您有了重定向,是时候修复所有那些硬编码的HTTP URL。通常,不建议对URL进行硬编码。但是,随着时间的推移,您很可能会(我们都这样做)。以下是将您的HTTP链接更新为HTTPS的一些选项。

    选项 1:Better Search Replace插件

    您可以使用一个名为Better Search Replace的免费插件,由WordPress团队在Delicious Brains提供:

    Better Search Replace

    Better Search Replace

    该插件可以免费使用。在您的站点上安装并激活后,您可以导航到工具 >Better Search Replace以开始使用它。

    选项 2:interconnect/it Search Replace DB PHP Script

    运行WordPress搜索和替换的第二种选择是使用来自互连/它的免费PHP脚本,称为Search Replace DB。对于任何HTTP到HTTPS的迁移,这是我们最喜欢的工具之一。

    重要的!如果您不知道自己在做什么,使用此脚本可能会破坏您的WordPress网站。如果您对此感到不自在,请先咨询开发人员或您的网络托管服务商。

    要使用该脚本,只需下载zip文件,提取名为search-replace-db-master的文件夹,然后将其重命名为其他名称。在我们的示例中,我们将其重命名为update-db-1551。然后,通过FTP、SFTP或SCP将其上传到Web服务器的公共目录。这通常与包含/wp-content文件夹的目录相同。

    然后在浏览器中导航到您的私密文件夹,例如https://domain.com/update-db-1551:

    互连搜索和替换脚本

    互连搜索和替换脚本

    该脚本将自动尝试查找并填充数据库字段,但您必须检查详细信息是否正确以及它是否适用于您希望执行搜索/替换操作的数据库。您可以先单击Dry Run以查看它将更新/替换的内容。然后,当您准备好时,单击Live Run, 它将执行数据库更新和 WordPress 搜索和替换。

    HTTPS 迁移的一个示例是将“http://yourdomain.com”替换为“https://yourdomain.com”。

    搜索替换选项

    搜索替换选项

    由于安全原因,完成后删除此脚本也很重要。您可以单击“Delete me”按钮。如果您不这样做,它可能会使您的网站容易受到攻击。

    还建议您仔细检查您的Web服务器并确认文件夹/脚本已被完全删除。注意:此脚本将更新您数据库中的所有条目,包括您的WordPress站点URL、页面和文章上的硬编码链接等。

    如果您在wp-config.php文件中硬编码您的主页、站点或WP内容区域,请确保将它们更新为HTTPS:

    define(‘WP_HOME’, ‘https://yourdomain.com’);
    define(‘WP_SITEURL’, ‘https://yourdomain.com’);
    define( ‘WP_CONTENT_URL’, ‘https://yourdomain.com/wp-content’ );
    define(‘WP_HOME’, ‘https://yourdomain.com’);
    define(‘WP_SITEURL’, ‘https://yourdomain.com’);
    define( ‘WP_CONTENT_URL’, ‘https://yourdomain.com/wp-content’ );
    define('WP_HOME', 'https://yourdomain.com');
    define('WP_SITEURL', 'https://yourdomain.com');
    define( 'WP_CONTENT_URL', 'https://yourdomain.com/wp-content' );

    如果您有CDN并使用CNAME,例如cdn.domain.com,您可能还想再次运行上述脚本以查找任何硬编码的URL http://cdn.domain.com并将它们替换为https://cdn.domain.com。

    选项 3:使用WP-CLI搜索和替换

    您还可以使用WP-CLI为那些不喜欢离开命令行的精通技术的人和开发人员更新您的链接。我们建议查看此高级搜索并替换WP-CLI指南

    7. 更新自定义脚本和外部库

    现在您已经更新了旧的硬编码URL,您将需要检查您可能已添加到页眉、页脚等的任何自定义脚本或外部库。这可能包括Google jQuery、Font Awesome、CrazyEgg、AdRoll、Facebook , Hotjar等

    对于Google jQuery,您只需将其更新为指向HTTPS版本:

    <script src=“https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js”></script>
    <script src=”https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js”></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
    

    每个提供商和服务都应该有一个可以切换到的HTTPS版本。

    8. 将CDN从HTTP迁移到HTTPS

    接下来,如果您使用的是CDN,您还需要将其迁移到HTTPS。否则,您将在WordPress网站上遇到混合内容警告问题。

    Cloudflare CDN替代品

    如果您正在寻找Cloudflare CDN替代品,有很多选择。最受欢迎的一种是KeyCDN。

    这种高性能CD​​N通过将您的网站内容缓存在全球服务器上,加快了向访问者交付网站内容的速度。它还提供针对DDoS攻击和其他威胁的安全性和保护。

    另外两个选项是Amazon CloudFront, 它是Amazon Web Services (AWS) 的一部分,以及Sucuri,它有助于优化网站性能和速度。它具有广泛的安全功能。

    以下是一些有关为不同的第三方CDN提供商安装和设置SSL的有用链接和教程。

    注意:有些甚至集成了Let’s Encrypt,这意味着SSL是免费的。如果您遇到问题,您可以随时咨询您的CDN提供商,以帮助您完成HTTP到HTTPS的迁移。

    更新CDN后,您需要确保在用于集成的任何WordPress插件中更新它。在下面的示例中,我们使用的是CDN Enabler

    将CDN更改为HTTPS

    将CDN更改为HTTPS

    我们将通过HTTP的URL翻转为HTTPS,然后在底部启用CDN HTTPS选项。完成后,选择保存更改 按钮。

    9. 检查您的网站是否有混合内容警告

    接下来,您将需要检查您的WordPress网站以确保您没有收到混合内容警告。加载HTTPS和HTTP脚本或内容时会出现这些警告。你不能同时加载两者。

    当您迁移到HTTPS时,一切都需要通过HTTPS运行。Wired记录了他们从HTTP到HTTPS的过渡以及他们遇到的一个障碍:

    迁移到HTTPS的最大挑战之一是准备我们所有的内容以通过安全连接交付。如果页面通过HTTPS加载,则所有其他资产(如图像和Javascript文件)也必须通过HTTPS加载。我们看到大量关于这些“混合内容”问题的报告,或者在安全的HTTPS页面上下文中加载不安全的HTTP资产的事件。为了正确地进行部署,我们需要确保混合内容问题更少——确保我们尽可能安全地交付WIRED.com的内容。

    下面是一些示例,说明如果您不修复这些警告,浏览器会发生什么。

    Chrome混合内容警告示例

    下面是当混合内容警告触发时Chrome中发生的情况的示例:

    Chrome混合内容警告

    Chrome混合内容警告

    Firefox混合内容警告示例

    以下是Firefox在混合内容警告触发时发生的情况的示例:

    Firefox混合内容警告

    Firefox混合内容警告

    Internet Explorer混合内容警告示例

    IE混合内容警告

    IE混合内容警告

    下面是一个示例,说明当混合内容警告触发时Internet Explorer中发生的情况:

    如您所见,IE可能是最糟糕的一种,因为它会破坏页面的呈现,直到单击弹出窗口为止。

    JitBit有一个很棒的免费小工具,叫做SSL Check,您可以运行它来快速扫描您的网站或URL以查找不安全的内容。该工具将抓取您的HTTPS WordPress站点并搜索将在浏览器中触发警告消息的非安全图像、脚本和CSS文件。每个网站抓取的页面数量限制为200个。

    您还可以使用Chrome DevTools通过查看网络请求面板来快速检查任何页面。安全面板实际上也非常有用。您可以立即看到任何不安全的来源,然后单击请求以查看它们的来源:

    在Chrome Devtools中检查HTTPS

    在Chrome Devtools中检查HTTPS

    还有一个名为HTTPS Checker的桌面软件 ,您可以安装它来扫描您的站点:

    HTTPS检查器软件

    HTTPS检查器软件

    经过重大更改后,它可以帮助您检查“不安全”的警告和内容。它适用于Windows、Mac和Ubuntu。免费计划允许您检查多达100页。

    10. 更新谷歌搜索控制台配置文件

    现在您的WordPress网站已在HTTPS上启动并运行(希望没有警告),是时候深入研究营销方面了。其中一些非常重要,所以不要跳过它们!

    您首先要为HTTPS版本创建一个新的Google Search Console配置文件。

    在GSC中添加HTTPS属性

    在GSC中添加HTTPS属性

    创建新的HTTPS版本后,您需要重新提交站点地图文件。新的HTTPS版本:

    HTTPS站点地图文件

    HTTPS站点地图文件

    如果您有来自不良反向链接的拒绝文件或受到处罚,您将需要重新提交。如果您现在不这样做,您可能会永久损害您的网站。

    转到Google的Disavow Tool并单击您的原始HTTP配置文件。下载拒绝文件(如果存在)。然后返回工具并在HTTPS版本下提交您的拒绝文件。

    注意:完成所有这些操作后,您可以安全地删除Google Search Console中的HTTP配置文件。

    11. 必应网站管理员工具

    Bing Webmaster Tools与Google Search Console略有不同:

    必应网站管理员工具HTTPS

    必应网站管理员工具HTTPS

    您无需创建新的HTTPS配置文件。相反,您可以只提交新创建的HTTPS站点地图。

    12.谷歌分析

    接下来,您需要更新您的Google Analytics(分析)媒体资源和数据视图。这不会影响您的分析数据:它只会在将您的网站链接到Google Search Console等时有所帮助。

    要更新您的属性,请单击您的域属性设置,然后在默认URL下将其更改为HTTPS://版本:

    将Google Analytics(分析)媒体资源更新为HTTPS

    将Google Analytics(分析)媒体资源更新为HTTPS

    要更新您的视图,请单击您的域视图设置。在网站的URL下,将其更改为HTTPS://版本:

    将Google Analytics(分析)视图更新为HTTPS

    将Google Analytics(分析)视图更新为HTTPS

    将Google Analytics链接到GSC

    将Google Analytics链接到GSC

    您还需要将您在第8步中创建的新创建的Google Search Console配置文件与您的Google Analytics帐户重新关联。为此,请点击您域的属性设置,然后选择Adjust Search Console

    然后,您可以链接新的HTTPS GSC配置文件。将这些链接在一起可以使搜索查询数据流入您的Google Analytics(分析)帐户。

    13. YouTube频道

    如果您有YouTube频道,您需要在Google Search Console中将您的网站与新的HTTPS版本重新关联。否则,您将收到有关HTTPS链接无效的注释和其他消息的错误。

    在您的YouTube仪表板中,单击您的频道,然后进入Advanced。接下来,将您的域更改为新的HTTPS版本,然后单击Add。您可能必须删除旧的,然后重新添加它。然后,您必须通过进入Google Search Console、导航到该站点的消息并选择Approve来批准它。

    14. 杂项

    当涉及到从HTTP到HTTPS的迁移时,就是这样!这里还有一些您还想更新的杂项。其中一些可能适用也可能不适用,具体取决于您使用的内容。

    • 确保检查您的robots.txt是否可访问且正常工作。
    • 确保所有规范标签都指向HTTPS版本(如果您按照上面的第3步操作,这应该已经完成​​)。
    • 如果您运行诸如Disqus之类的评论插件,则必须将您的Disqus评论从HTTP迁移到HTTPS。
    • 在您的电子邮件营销软件中更新您的URL
    • 更新PPC广告网址:AdWords、Bing Ads、AdRoll、Facebook Ads等。
    • 更新社交媒体链接(Facebook、Twitter、Pinterest、Google+等)

    小结

    HTTPS不仅仅是Google排名因素。这是一个重要的安全协议,有助于保护您的网站和访问者免受攻击。