Как включить 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

Изучение 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. Прочтите эту статью, чтобы узнать больше