如何在Plesk服务器上启用HTTP / 2

Plesk具有本机HTTP / 2支持。它的部署过程需要仔细计划,尽管与其他控制面板相比,在Plesk上推出HTTP / 2要容易得多。本指南适用于各种操作系统。只要您具有足够的Plesk和OpenSSL版本,此处提供的步骤就可以使用。我将在“步骤1:检查需求”中描述这些需求。

您应该考虑到,如果您使用SSL证书,许多浏览器将仅支持您网站的HTTP / 2。不使用SSL证书时,将不会通过HTTP / 2提供内容。幸运的是,有很多方法可以获取SSL证书。如果您有兴趣获得Let's Encrypt证书,请查看本指南,以在Plesk上创建一个证书:Let's Encrypt on Plesk

即使您很有可能在没有用户或访客注意的情况下启用HTTP / 2(并且没有任何停机时间),也应宣布此维护。如果未正确配置您的SSL密码套件,则可能会有一些停机时间。幸运的是,使用Plesk的内置工具还原更改非常容易。

您应该绝对确定对配置文件没有直接更改,因为我们将覆盖一些配置文件。不过,如果您使用受支持的方法(在自定义文件中)专门进行了更改,则无需担心。

如果可能,您应该使用简单的Plesk安装启动另一个Vultr云服务器,并执行以下命令。然后,根据其成功(或失败),您可以采取措施立即调试和/或解决当前正在使用的生产服务器上将来的HTTP / 2部署中可能出现的任何问题。

启用HTTP / 2

步骤1:检查需求

现成的,您可以为部署Plesk的反向代理启用HTTP / 2支持。如果不确定服务器是否使用反向代理,则应检查“服务监视器”。如果您同时看到Apache和Nginx,则可以安全地假设您的安装当前正在使用反向代理。如果仅看到Apache或仅看到Nginx,则很可能将使用单个Web服务器。

核心是HTTP / 2正常工作所绝对需要的一个特定要求,它是具有ALPN支持的OpenSSL版本。

但是,如果在CentOS / RHEL 7,Ubuntu 14.04,Debian 8或更高版本上安装了Plesk版本12.5.30或更高版本,则NGIx随即提供ALPN支持。

如果您使用的是较旧的Plesk或操作系统版本,则可以升级某些软件包。但是,我不支持或记录此文件。这些版本和操作系统非常旧,最佳实践是对其进行更新。还应考虑使用过时的软件的安全风险。

没有文档明确说明哪些操作系统和版本与Plesk上的HTTP / 2兼容;请参阅第11页上的“确定。但是,如果您使用最新版本(在发布本指南时),则应满足要求。您可以放心地假设较旧的操作系统(例如CentOS / RHEL 5)将不兼容。

除了OpenSSL版本要求外,请注意Apache不一定也必须与HTTP / 2兼容。自版本2.4.17起,已提供对Apache的HTTP / 2支持,但是如果您使用反向代理(这是Plesk中的默认设置),则仅Nginx版本就足够了。后端服务器Apache不必兼容。您可以在Plesk中咨询“服务管理器”,以确保您使用的是反向代理。当在此处列出Nginx时,可以安全地假设将Apache和Nginx安装为反向代理设置,其中Nginx充当前端服务器。

以下命令显示Nginx是否已激活。

/usr/local/psa/admin/bin/nginxmng -s

对于OpenSSL,您至少应具有1.0.1版本。您可以使用以下命令进行检查:

rpm -qa | grep openssl

这将打印类似于以下的版本:

openssl-1.0.1e-42.el6_7.4.x86_64

如果OpenSSL版本不等于或大于1.0.1,则应更新操作系统。部署在较新的操作系统上的Plesk将立即使用OpenSSL 1.0.1。

步骤2:在Plesk中启用HTTP / 2

根据所使用的操作系统,使用该http2_pref工具启用HTTP / 2 。该命令应以root用户身份执行。

在CentOS / RHEL上启用HTTP / 2

执行: /usr/local/psa/bin/http2_pref enable

在Ubuntu / Debian上启用HTTP / 2

执行: /opt/psa/bin/http2_pref enable

步骤3:改善密码套件

使用一个好的密码套件对于安全性至关重要。支持过时的协议将有效地消除安全措施的影响。确保使用内置的Plesk工具调整可用的协议和可用的TLS版本sslmng

例如,启用以下密码和TLS版本将确保与HTTP / 2兼容。如果您不确定应该启用的密码和版本,请遵循以下设置:

plesk sbin sslmng --services=nginx --custom --ciphers="EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EECDH+CHACHA20:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EDH+CHACHA20" --protocols="TLSv1 TLSv1.1 TLSv1.2"

该命令进行修改/etc/nginx/conf.d/ssl.conf。您可以直接修改此文件,但是使用上面列出的命令将在Plesk更新中保留更改。

为了使用另一个密码套件来获得“完美的前向保密性”,您可以尝试以下密码:

ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS

有许多可用的密码套件,您应该选择最适合自己的密码套件。您应该访问诸如Cipherli.st之类的网站,以收集适合您需求的密码套件。通过在sslmng工具中指定密码套件,密码套件将立即使用。

要检查作为客户端的浏览器的TLS支持,请使用Qualys SSL工具。如果您不允许使用足够的密码或TLS版本,则某些网站可能无法访问。

步骤4:检查HTTP / 2兼容性

启用HTTP / 2后,您应该检查是否可以通过HTTP / 2访问您的网站和Web服务器。为此有一个非常方便的基于Web的工具:HTTP / 2 Test

为了获得准确的结果,请确保已禁用服务器前面的所有反向代理。例如,如果您使用的CDN不支持HTTP / 2,则测试工具将返回您的网站,即使该网站在服务器级别已成功启用,也不支持HTTP / 2。就像其他方法一样:如果您的网站前面有反向代理(例如Cloudflare)(支持HTTP / 2),则该工具将始终返回HTTP / 2,使其处于启用状态并且可以正常工作,无论其在服务器级别的功能如何。 。

如果启用HTTP / 2后,某些浏览器拒绝加载您的网站或从Web服务器提供任何内容,则应使用Qualys的SSL工具分析SSL设置。

(可选)还原HTTP / 2配置

如果需要,如果需要时间进行调试,只需执行以下命令即可(临时)禁用HTTP / 2。一旦您想重新启用HTTP / 2,只需执行命令将其激活,然后重试即可访问您的任何网站。无法为特定域或网站启用或禁用HTTP / 2。这是服务器范围的设置。

在CentOS / RHEL上禁用HTTP / 2

执行: /usr/local/psa/bin/http2_pref disable

在Ubuntu / Debian上禁用HTTP / 2

执行: /opt/psa/bin/http2_pref disable

故障排除

考虑到启用HTTP / 2所涉及的服务器的许多组件,在某些情况下,您可能需要对激活HTTP / 2支持后网站无法正确加载或完全加载时进行故障排除。

注意:执行http2_pref以下步骤时,确保不要使用该工具禁用HTTP / 2支持。

检查要求

首先,请确保您满足本文开头概述��要求。

重新创建Nginx配置

如果满足HTTP / 2的要求,则可以尝试重新创建Nginx配置文件。您应该知道这将删除所有自定义配置,因此请事先创建Nginx配置目录的备份。由于配置文件可以分布在整个服务器中,因此最好简单地制作快照或进行备份。然后,执行以下命令:

/usr/local/psa/admin/bin/httpdmng --reconfigure-all

重新检查密码套件

如果这也没有任何效果,很可能是密码套件的原因。再次执行以下命令:

plesk sbin sslmng --services=nginx --custom --ciphers="EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EECDH+CHACHA20:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EDH+CHACHA20" --protocols="TLSv1 TLSv1.1 TLSv1.2"

错误中 panel.ini

确保文件/usr/local/psa/admin/conf/panel.ini包含以下内容:

[webserver]
nginxHttp2 = true

您可以通过执行以下命令来快速检查文件是否包含此文件: cat /usr/local/psa/admin/conf/panel.ini | grep nginxHttp2

此命令不返回任何内容吗?那么很有可能该文件是只读的,例如由于某个chattr属性。当执行http2_pref命令(启用HTTP / 2)时,可能已经添加了它。

检查是否使用SSL

当网站不使用SSL时,它将退回到HTTP / 1.1。只有使用SSL的网站才能使用HTTP / 2进行服务。确保在所有情况下都不要在本地强制执行HTTP / 2,因为这将不起作用,也不是服务器端的问题。

其他选择

如果这也不起作用,则应咨询Plesk专家,例如在Plesk论坛上。不过,在许多情况下,上述步骤将解决大多数问题。

您可以采取的最后一项措施就是重启服务器。在某些奇怪的情况下,这可以解决一些突发问题。但是,您应该始终能够查明问题,以防止它们(突然)再次发生。

我的指南到此结束,谢谢您的阅读。



Leave a Comment

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。