Получить последнюю версию Nginx легко, все есть в официальном репозитории на Nginx. Но получить ALPN, который необходим для работы HTTP/2 на Chrome сложнее, так как на официальном сайте Nginx собран с OpenSSL 1.0.1, а для ALPN необходима версия OpenSSL не ниже 1.0.2.
Решением является собрать Nginx из исходников самостоятельно и запретить автоматическое обновление. Но это решение мне не нравится.
Оптимальным выходом вижу использование репозитория:
https://launchpad.net/~ondrej/+archive/ubuntu/nginx
Здесь Nginx собран с актуальным OpenSSL.
Первым делом проверяем версию Nginx:
[code batch]
1 |
sudo nginx -V |
[/code]
Если ответ таков, значит порядок действий для вас:
[code bash]
1 2 3 |
nginx version: nginx/1.10.2 built with OpenSSL <strong>1.0.1</strong> ... ... |
[/code]
Поехали
Сохраняем исходные конфиги по адресу: [code]/etc/nginx/*[/code]
Сохранить рекомендую однозначно, так все конфиги будут переписаны.
Добавляем новый репозиторий, удаляем старый репозиторий (/etc/apt/sources.list.d/nginx*) и удаляем текущую версию nginx. Затем устанавливаем nginx заново и восстанавливаем конфиги.
[code batch]
1 2 3 4 |
sudo add-apt-repository ppa:ondrej/nginx sudo apt-get update sudo apt-get remove nginx sudo apt-get install nginx |
[/code]
Теперь необходимо проверить правильность конфигов и запустить Nginx:
[code batch]
1 2 |
sudo nginx -t sudo service nginx restart |
[/code]
Напишите, нужен ли вообще этот HTTP/2?