Как включить HTTP / 2 на сервере Plesk

Plesk имеет встроенную поддержку HTTP / 2. Процесс развертывания требует тщательного планирования, хотя развертывание HTTP / 2 в Plesk намного проще по сравнению с другими панелями управления. Это руководство относится к различным операционным системам. Приведенные здесь шаги будут работать, пока у вас достаточно версий Plesk и OpenSSL. Я опишу эти требования в «Шаг 1: Проверка требований».

Вы должны принять во внимание, что многие браузеры будут поддерживать HTTP / 2 только для вашего сайта, если вы используете SSL-сертификат. Если SSL-сертификат не используется, содержимое не будет передаваться по протоколу HTTP / 2. К счастью, есть много способов получить сертификат SSL. Если вы заинтересованы в получении сертификата Let's Encrypt, ознакомьтесь с этим руководством по его созданию на Plesk: Let's Encrypt на Plesk .

Несмотря на то, что есть большая вероятность, что вы сможете включить HTTP / 2 без уведомления пользователей или посетителей (и без простоев), вы должны объявить об этом обслуживании. Если ваш набор шифров SSL не был правильно настроен, возможны простои. К счастью, отменить изменения очень легко, используя встроенный инструмент Plesk.

Вы должны быть абсолютно уверены, что не было никаких прямых изменений в файлах конфигурации, так как мы будем перезаписывать некоторые файлы конфигурации. Впрочем, беспокоиться не о чем, если вы внесли изменения исключительно с помощью поддерживаемых методов (в пользовательских файлах).

Если это возможно, вам нужно запустить еще один облачный сервер Vultr с простой установкой Plesk и выполнить приведенную ниже команду (ы). Затем, основываясь на его успехе (или неудаче), вы можете предпринять шаги для мгновенной отладки и / или решения любых проблем, которые могут возникнуть в будущих развертываниях HTTP / 2 на рабочих серверах, используемых в настоящее время.

Включение HTTP / 2

Шаг 1: Проверка требований

Из коробки можно включить поддержку HTTP / 2 для обратного прокси-сервера, который был развернут в Plesk. В случае, если вы не уверены, использует ли ваш сервер обратный прокси-сервер, проверьте «Сервисный монитор». Если вы видите там и Apache, и Nginx, можно предположить, что в вашей установке в настоящее время используется обратный прокси-сервер. Если вы видите только Apache или только Nginx, вы, скорее всего, будете использовать один веб-сервер.

В ядре есть одно конкретное требование, которое абсолютно необходимо для работы HTTP / 2, это версия OpenSSL с поддержкой ALPN.

Однако, если у вас установлена ​​версия Plesk 12.5.30 или выше в CentOS / RHEL 7, Ubuntu 14.04, Debian 8 или выше, Nginx развернут с поддержкой ALPN «из коробки».

Если у вас более старая версия Plesk или операционной системы, вы можете обновить некоторые пакеты. Однако я не поддерживаю и не документирую это. Эти версии и операционные системы очень старые, и лучше всего обновлять их. Также учитывайте риски безопасности, связанные с использованием устаревшего программного обеспечения.

В документе нет явного указания, какие операционные системы и версии совместимы с HTTP / 2 в Plesk; однако, если вы используете самую новую версию (на момент публикации данного руководства), вы должны соответствовать требованиям. Вы можете с уверенностью предположить, что старые операционные системы, такие как CentOS / RHEL 5, не будут совместимы.

Помимо требований к версии OpenSSL, обратите внимание, что Apache не обязательно должен быть также совместим с HTTP / 2. Поддержка HTTP / 2 для Apache доступна с версии 2.4.17, но в случае использования обратного прокси-сервера (который по умолчанию используется в Plesk) достаточно только версии Nginx. Внутренний сервер Apache не должен быть совместимым. Вы можете проконсультироваться с «Service Manager» в 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. Включение HTTP / 2 в Plesk

В зависимости от используемой операционной системы включите HTTP / 2 с помощью http2_prefинструмента. Эта команда должна быть выполнена от имени пользователя root.

Включение HTTP / 2 в CentOS / RHEL

Выполнение: /usr/local/psa/bin/http2_pref enable

Включение HTTP / 2 в Ubuntu / Debian

Выполнение: /opt/psa/bin/http2_pref enable

Шаг 3: улучшить набор шифров

Использование хорошего набора шифров невероятно важно для безопасности. Поддержка устаревших протоколов будет эффективно подавлять эффект ваших мер безопасности. Обязательно настройте доступные протоколы и доступные версии TLS, используя встроенный инструмент Plesk 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. Для этого есть очень удобный веб-инструмент: HTTP / 2 Test .

Чтобы получить точный результат, убедитесь, что вы отключили все обратные прокси, расположенные перед вашим сервером. Например, если вы используете CDN, который не поддерживает HTTP / 2, инструмент тестирования вернет ваш веб-сайт, который не поддерживает HTTP / 2, даже если он успешно включен на уровне сервера. Как и наоборот: если у вас есть обратный прокси-сервер, такой как Cloudflare, перед вашим сайтом (который поддерживает HTTP / 2), инструмент всегда вернет HTTP / 2 как включенный и работающий, независимо от его функциональности на уровне сервера. ,

Если некоторые браузеры отказываются загружать ваш веб-сайт (-ы) или обслуживать какой-либо контент с вашего веб-сервера после включения HTTP / 2, вам следует проанализировать настройки SSL с помощью инструмента Qualys SSL .

(Необязательно) Возврат конфигурации HTTP / 2

При необходимости, если вам нужно время для отладки, вы можете (временно) отключить HTTP / 2, просто выполнив команду ниже. Как только вы захотите снова включить HTTP / 2, просто выполните команду для его активации и повторите попытку доступа к любому из ваших сайтов. Нет способа включить или отключить HTTP / 2 для определенных доменов или веб-сайтов; это настройка для всего сервера.

Отключение HTTP / 2 в CentOS / RHEL

Выполнение: /usr/local/psa/bin/http2_pref disable

Отключение HTTP / 2 в Ubuntu / Debian

Выполнение: /opt/psa/bin/http2_pref disable

Поиск проблемы

Принимая во внимание множество компонентов сервера, участвующих в включении HTTP / 2, в некоторых случаях вам может потребоваться устранить неполадки, когда веб-сайты загружаются неправильно или не загружаются вообще после активации поддержки HTTP / 2.

Примечание: убедитесь, что не отключили поддержку HTTP / 2 с помощью http2_prefинструмента при выполнении этих шагов.

Проверьте требования

Во-первых, убедитесь, что вы соответствуете требованиям, изложенным в начале этой статьи.

Воссоздать конфигурацию 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

Как установить платформу интернет-магазина LiteCart в Ubuntu 16.04

Как установить платформу интернет-магазина LiteCart в Ubuntu 16.04

LiteCart является бесплатной платформой для покупок с открытым исходным кодом, написанной на PHP, jQuery и HTML 5. Это простой, легкий и простой в использовании софтвар для электронной коммерции.

Как установить Anchor CMS на CentOS 7 LAMP VPS

Как установить Anchor CMS на CentOS 7 LAMP VPS

Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.

Настройка NFS Share на Debian

Настройка NFS Share на Debian

NFS - это сетевая файловая система, которая позволяет компьютерам получать доступ к файлам через компьютерную сеть. Это руководство объясняет, как вы можете выставлять папки через NF

Как установить Matomo Analytics на Fedora 28

Как установить Matomo Analytics на Fedora 28

Используете другую систему? Matomo (ранее Piwik) - это аналитическая платформа с открытым исходным кодом, открытая альтернатива Google Analytics. Источник Matomo размещен o

Как установить PHP 7.3 на веб-сервере Arch Linux

Как установить PHP 7.3 на веб-сервере Arch Linux

Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Работающий веб-сервер с доступом Apache или Nginx Sudo. Команды требуют

Настройте сервер TeamTalk в Linux

Настройте сервер TeamTalk в Linux

TeamTalk - это система конференц-связи, которая позволяет пользователям вести высококачественные аудио / видео-беседы, текстовый чат, передавать файлы и обмениваться экранами. Это я

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Используете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам

Как получить доступ к Vultr VPS

Как получить доступ к Vultr VPS

Vultr предоставляет несколько различных способов доступа к вашему VPS для настройки, установки и использования. Учетные данные для доступа Учетные данные для доступа к вашему VPS по умолчанию

Как установить Ranger Terminal File Manager в Linux

Как установить Ranger Terminal File Manager в Linux

Ranger - это файловый менеджер на основе командной строки с привязками клавиш VI. Он предоставляет минималистичный и приятный интерфейс curses с видом на иерархию каталогов.

Как использовать HTTPS на веб-сервере Arch Linux

Как использовать HTTPS на веб-сервере Arch Linux

Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Работающий веб-сервер, доступ к Apache или Nginx Sudo Требуются команды t

Настройте Magento на CentOS 6

Настройте Magento на CentOS 6

Если вы хотите разместить свой инвентарь в Интернете или просто магазин технических аксессуаров, Magento - отличное решение для электронной коммерции в Интернете. Это статья

Как собрать Brotli из исходного кода на Ubuntu 18.04 LTS

Как собрать Brotli из исходного кода на Ubuntu 18.04 LTS

Используете другую систему? Brotli - это новый метод сжатия с лучшей степенью сжатия, чем GZIP. Его исходный код размещен на этом Githu

Использование MySQL Views в Debian 7

Использование MySQL Views в Debian 7

Введение В MySQL есть замечательная функция, известная как views. Представления хранятся запросы. Думайте о них как о псевдониме для длинного запроса. В этом руководстве

Как установить AirSonic на CentOS 7

Как установить AirSonic на CentOS 7

Используете другую систему? AirSonic - это бесплатный и потоковый сервер с открытым исходным кодом. В этом уроке я проведу вас через процесс развертывания

Как установить OrangeScrum на CentOS 7

Как установить OrangeScrum на CentOS 7

OrangeScrum - это бесплатный инструмент управления проектами с открытым исходным кодом, который широко используется в малом и среднем бизнесе. В этой статье я проведу вас через

Отключить или ограничить root-вход через SSH в Linux

Отключить или ограничить root-вход через SSH в Linux

Разрешение входа в систему через SSH обычно считается плохой практикой безопасности во всей индустрии технологий. Вместо этого вы можете выполнять чувствительные административные

Как установить Subrion 4.1 CMS на Ubuntu 16.04 LAMP VPS

Как установить Subrion 4.1 CMS на Ubuntu 16.04 LAMP VPS

Используете другую систему? Subrion 4.1 CMS - это мощная и гибкая система управления контентом с открытым исходным кодом (CMS), которая обеспечивает интуитивно понятный и понятный контент.

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Vtiger CRM - это популярное приложение для управления взаимоотношениями с клиентами, которое может помочь предприятиям увеличить продажи, обеспечить обслуживание клиентов и увеличить прибыль. я

Как установить DokuWiki на Ubuntu 16.04 LTS

Как установить DokuWiki на Ubuntu 16.04 LTS

Используете другую систему? DokuWiki - это вики-программа с открытым исходным кодом, написанная на PHP, для которой не требуется база данных. Хранит данные в текстовых файлах. DokuWik

Создание внешнего интерфейса HTML 5 RDP / SSH с использованием гуакамоле в Ubuntu 16.04 LTS

Создание внешнего интерфейса HTML 5 RDP / SSH с использованием гуакамоле в Ubuntu 16.04 LTS

Введение Цель этого руководства - избавиться от общедоступных соединений SSH и общедоступных RDP. Поместив все это за очень удобный клиент HTML5

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше