Как настроить на Nginx поддержку HTTP/2 на Debian 9

Мы покажем вам, как настроить Nginx с поддержкой HTTP/2 на Debian 9. HTTP/2 является основной версией протокола HTTP-сети и предлагает множество преимуществ. Включение HTTP/2 в Nginx, запущенном на сервере Debian 9, является довольно простой задачей, если вы внимательно следуете руководству ниже. Давайте начнем!

Что такое HTTP/2?

HTTP/2 является основной версией сетевого протокола HTTP. Он основан на экспериментальном протоколе SPDY, разработанном Google. Основная цель HTTP/2 — уменьшить задержку, свести к минимуму служебные данные протокола и добавить поддержку для приоритизации запроса. Это ускоряет загрузку веб-приложений.

Синтаксис высокого уровня, такой как коды состояния, методы, поля заголовков, URI и т. Д., Такие же, как и более ранняя версия HTTP, за исключением того, что существует разница в том, как данные создаются и транспортируются между клиентом и сервером.

Поддержка HTTP/2 была представлена ​​в версии Nginx версии 1.9.5 и доступна во всех более новых версиях. Если вы используете Debian 9 в качестве операционной системы, вам не стоит беспокоиться, можете ли вы использовать HTTP/2 с Nginx или нет. Версия Nginx, включенная в репозиторий Debian 9 по умолчанию, выше 1.9.5, поэтому будет включена поддержка HTTP/2.

Чтобы проверить версию Nginx, установленную на вашем Debian VPSподключитесь к своему серверу через SSH и выполните следующую команду:

nginx -v

 

Выход должен быть похож на приведенный ниже:

# nginx -v

nginx version: nginx/1.10.3

 

Если вы получите что-то вроде следующего:

# nginx -v

-bash: /usr/sbin/nginx: No such file or directory

 

Это означает, что Nginx не установлен на вашем Linux VPS, и вам нужно сначала установить его. Для установки Nginx выполните следующие команды:

apt-get update

apt-get install nginx

 

По завершении установки запустите команду выше, чтобы убедиться, что Nginx установлен, и поддерживает HTTP/2.

Настройка Nginx с поддержкой HTTP/2 на Debian 9

HTTP/2 не требует шифрования. Однако в настоящее время ни один браузер не поддерживает HTTP/2 без шифрования, поэтому вам необходимо иметь действительный сертификат SSL, выданный для вашего домена, прежде чем приступать к другим шагам в этом руководстве.

Чтобы включить HTTP/2 в Nginx, откройте серверный блок Nginx по умолчанию, используя текстовый редактор по вашему выбору.

nano /etc/nginx/sites-available/default

 

Затем добавьте следующие строки:

server {

listen 443 ssl http2 default_server;

server_name domain.com www.domain.com;

root /var/www/html;

index index.html;



location / {

try_files $uri $uri/ =404;

}



ssl_certificate /etc/nginx/ssl/domain.com.crt;

ssl_certificate_key /etc/nginx/ssl/domain.com.key;

}



server {

listen 80;

server_name domain.com www.domain.com;

return 301 https://$server_name$request_uri;

}

 

Используйте свое доменное имя server_name, местоположение ваших данных веб-сайта root и путь к вашему SSL-сертификату и к закрытому ключу для ssl_certificate и ssl_certificate_key.

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

nginx -t

 

Если все в порядке с конфигурацией, вывод должен быть похож на следующий:

# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

 

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

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

systemctl restart nginx.service

 

Одна вещь, которую мы можем улучшить здесь, — это ключевая безопасность обмена. По умолчанию Nginx использует ключ с 1028 бит Diffie-Hellman, и мы можем создать новый, более безопасный. Чтобы создать новый ключ Diffie-Hellman, выполните следующую команду:

openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048

 

Процесс займет пару минут. После создания ключа откройте серверный блок Nginx по умолчанию и добавьте следующую строку ssl_certificate_key:

ssl_dhparam /etc/nginx/ssl/dhparam.pem;

 

Затем перезапустите Nginx, чтобы изменения вступили в силу.

Если у вас перестал работать сервер в Иркутске, выбирай сервисный центр ISIB, там вам проведут бесплатную диагностику и техническую консультацию, заменят на качественные оригинальные комплектующие, дадут гарантию до 2 лет на выполненные работы и замененные детали.

Если вы хотите настроить Nginx с поддержкой HTTP/2 для другого имени домена, вы можете ознакомиться с нашим руководством по настройке серверных блоков в Nginx.

 



2018-06-21T16:22:13
Настройка Debian