http/2 является надежным мультиплексированным протоколом для улучшения скорости нагрузки и безопасности страницы. В этом уроке мы узнаем, как настроить Nginx с помощью поддержки HTTP/2.
Обзор
Nginx - это быстрый и надежный веб -сервер с открытым исходным кодом. Он приобрел популярность из -за низкой памяти, балансировки нагрузки, высокой масштабируемости, кэширования, поддержки для большинства протоколов и обратного прокси. Теперь давайте поговорим о том, как Nginx включает протокол HTTP2. Одним из протоколов, поддерживаемых NGINX, является HTTP/2, который был опубликован в мае 2015 года. Основным преимуществом HTTP/2 является его высокая скорость передачи для веб-сайтов, богатых контентом, уменьшает нагрузку на веб-сервер и может инициировать несколько параллельных запросов. в одном соединении TCP. Nginx enable http2 - это улучшенная версия протокола HTTP. Прежде чем мы начнем, нам понадобится несколько серверов Ubuntu или Debian с SSL -сертификатом. В этом уроке мы направим вас пошаговым за шагом, как Nginx включить http2 на Ubuntu.
- Обновление пакетов и установка Nginx
- Включение поддержки HTTP/2
- Добавление имени сервера
- Добавление сертификатов SSL
- Удаление шифров
- Перенаправить все HTTP -запросы на HTTPS
- Перезагрузите Nginx
- Заключение
Шаг 1: Обновление пакетов и установка Nginx
Первым шагом является обновление и обновление репозиториев в системе упаковки APT. Использование Update будет загружать последние пакеты версий, а обновление установит последнюю версию пакетов в списке. Запустите приведенное ниже команду APT, чтобы обновить и обновить пакеты.
sudo apt-get update && apt-get upgrade
Следующим шагом является установка последней версии пакета Nginx. Поддержка протокола HTTP/2 была введена в NGINX версии 1.9.5 и выше. Поэтому нам придется установить последнюю версию пакета Nginx. Запустите приведенную ниже команду установки APT для установки пакетов Nginx:
sudo apt-get install nginx
Вам будет предложено подтвердить пошаговый процесс установки. Выберите опцию «Да» и завершите процесс установки. После завершения процесса установки следующим шагом является проверка версии пакета, независимо от того, установили ли мы правильную версию или нет. Вы можете проверить версию Nginx Web Server, набрав команду:
sudo nginx -v
Вывод вышеупомянутой команды проверки версий должен быть похож на следующее:
nginx version: nginx/1.10.0 (Ubuntu)
Шаг 2: Включение поддержки HTTP/2
После установки пакета Nginx нам необходимо включить HTTP2 Nginx. Пользователь должен изменить порт прослушивания с 80 на 443. Давайте откроем файл конфигурации NGINX:
sudo nano /etc/nginx/sites-available/domain-name.com
Вы можете увидеть значение Nginx по умолчанию для прослушивания - это порт 80. Слушать 80 default_server; Слушать [::]: 80 default_server; Как видите, есть две разные переменные прослушивания. Первая переменная прослушивания предназначена для всех IPv4connections, а вторая - для соединений IPv6. Мы включим шифрование для обеих переменных. Измените номер порта прослушивания на 443 и добавьте SSL -соединение для протокола HTTPS, как показано ниже: Слушайте 443 SSL http2 default_server; Слушать [::]: 443 SSL http2 default_server; Обратите внимание, что в дополнение к SSL мы также добавили HTTP2. Nginx теперь может использовать браузеры, которые поддерживают протокол HTTP/2.
Шаг 3: Добавление имени сервера
Следующим шагом является изменение сервера \ _name, чтобы имя сервера было связано с доменным именем. Пользователю просто нужно изменить имя сервера в файле конфигурации. Найдите вход Server \ _name в файле конфигурации и измените _ на ваш фактический домен, например,:
server_name example.com www.example.com;
Сохраните файл конфигурации сервера, редактируя в текстовом редакторе. Вы можете проверить конфигурацию Nginx на предмет синтаксических ошибок с помощью команды:
sudo nginx -t
Если синтаксис без ошибок, вы увидите вывод ниже: nginx: файл конфигурации /etc/nginx/nginx.conf синтаксис в порядке nginx: файл конфигурации /etc/nginx/nginx.conf тест успешно
Шаг 4: Добавление сертификатов SSL
Следующим шагом является включение конфигурации NGINX HTTPS для использования вашего сертификата SSL. Вы можете генерировать сертификат с самопозначением или установить бесплатный сертификат из Let’s Encrypt. Если у вас нет сертификата SSL, пожалуйста, следуйте этому уроку. Добавьте свои сертификаты SSL в каталог конфигурации NGINX, аналогичный:
sudo mkdir /etc/nginx/ssl
Скопируйте свой сертификат и закрытый ключ в это место, а также замените exater.com на фактическое доменное имя: sudo cp /path/to/your/certificate.crt /etc/nginx/ssl/example.com.crt sudo cp /path/to/your/private.key /etc/nginx/ssl/example.com.key Теперь откройте файл конфигурации сервера NGINX еще раз. Добавьте и настраивайте новые линии SSL в блоке сервера Nginx с местоположением ваших сертификатов, чтобы включить конфигурацию Nginx SSL: sudo nano /etc/nginx/sites-available/domain-name.com ssl_certificate /etc/nginx/ssl/example.com.crt; ssl_certificate_key /etc/nginx/ssl/example.com.key; Сохраните файл файла nginx и выйдите из текстового редактора.
Шаг 5: Удаление шифров
Cipher - это алгоритм, используемый в криптографии для шифрования и дешифрования данных. Коллексы шифров - это куча криптографических алгоритмов, используемых для обеспечения сетевых соединений. HTTP/2 имеет огромный черный список небезопасных шифров, которые необходимо удалить. Здесь мы будем использовать популярный набор шифров, утвержденный интернет -гигантами Cloudflare. Откройте следующий файл конфигурации nginx /etc/nginx/nginx.conf и добавьте строки ниже сразу после**ssl \ _prefer \ _server_ciphers.
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+
AES256:EECDH+3DES:RSA+3DES:!MD5;
Вы можете установить GZIP и добавить Proxy \ _max \ _temp \ _file \ _size 0; Чтобы избежать err \ _http2 \ _protocol_error nginx ошибка.
Шаг 6: перенаправить все HTTP -запросы на HTTPS
Теперь мы должны сообщить NGINX HTTP2 Proxy, что он должен обслуживать контент только через HTTPS только в том случае, если сервер получает HTTP -запрос. Наконец, игнорируя комментированные строки, ваш файл конфигурации nginx /etc/nginx/sites-available/domain-name.com должен выглядеть похоже на это: Сервер {Слушание 443 SSL http2 default_server; Слушайте [::]: 443 ssl http2 default_server; root/var/www/html; index index.html index.htm index.nginx-debian.html; server_name example.com; {try_files $ uri $ uri/= 404; ; } ssl_certificate /etc/nginx/ssl/example.com.crt;ssl_certificate_key /etc/nginx/ssl/example.com.key;ssl_dhparam /etc/nginx/ssl/dhparam.pem ;server {слушать 80; Слушать [::]: 80; server_name example.com; return 301 https: // $ server_name $ request_uri;} Сохраните файл /etc/nginx/sites-available/domain-name.com, а затем выйдите. Проверьте конфигурации на наличие синтаксических ошибок:
sudo nginx -t
Шаг 7: перезапустить Nginx
Чтобы применить все изменения, перезагрузите обратный прокси -сервер Nginx HTTP2 и проверьте состояние конфигурации. Sudo SystemCtl перезапустить nginx Sudo SystemCtl Status nginx
Заключение:
Поздравляем, вы успешно научились настроить поддержку Nginx Config HTTP2 на сервере Ubuntu. Ваши настройки Nginx HTTP2 теперь обслуживают HTTP/2 страницы, и это также очистило разницу между протоколами HTTP/1 и HTTP/2. Если вы все еще сталкиваетесь с какими -либо проблемами конфигурации, дайте нам знать в разделе комментариев. У вас есть какие -либо вопросы о мультиплексном протоколе HTTP2?
Исследовать
Вам также может понравиться ниже статьи: