Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

пора переходить на HTTP/2


sitecreator
 Поделиться

Рекомендованные сообщения

1 час назад, gyurza2000 сказал:

Включил на сервере поддержку http2, ALPN...как сам OpenCart 2.3.0.2.3 перевести на новый протокол?

Движок к протоколу не имеет никакого отношения - это исключительно серверный слой.
Просто включите для виртуалхоста http2 и все!

Ссылка на комментарий
Поделиться на других сайтах


О, магистр, здравствуйте :)

Я так и сделал,но, смотрю в логи и вижу, что что то отдаётся по HTTP/2, а что то по HTTP/1.1.

Причём, самое удивительное - это может быть одна и та же страничка. Заход с одного IP выдача с разницей 2 сек

Ссылка на комментарий
Поделиться на других сайтах

перешёл год назад ещё и на ssl 1.3.
Если ssl ещё в драфте и тесте и ломает certbot-auto(кот знает как починить - расскажите), то http2 давно работает.
Т.е. nginx+http2+ssl1.3+php-fpm 7.1.
Нагрузочное тестирование через интернет, не может быть репрезентативной выборкой поскольку в действие вступает целая куча факторов начиная от загруженности исходящего-входящего канала в данный момент, заканчивая загрузкой ЦПУ роутера-глюками браузера-глюками софта у стороннего поставщика теста и т.д., поэтому только локалхост, только хардкор.


Правильная методология тестирования: два виртуальных хоста с идентичными настройками, на одном включен http2, на другом нет.
И развёрнута одна и та же версия опенкарт.
Запускаем AB с парамтерами ab -n 10000 -c 1000 http://somehost.
Смотрим на вывод в консоли - делаем выводы.
Как я подозреваю, memcached и mod_pagespeed надо временно выключить, поскольку cache hit штука рандомная и всё такое.
После тестов - вернуть обратно.
Поскольку все сайты используют динамическую генерацию страниц - php, java и прочее тестировать простой и лёгкий html документ бессмысленно.

@sitecreator спрашивал howto test.
Отвечаю - для этого на сервере требуется запустить abtest из консоли на нашем сервере.
Например

Предположим, мы хотим увидеть, как быстро сервер сможет обрабатывать 100 запросов к Yahoo, при этом одновременно выполняя не более 10 запросов:

ab -n 100 -c 10 http://www.yahoo.com/



Изменено пользователем splka
Ссылка на комментарий
Поделиться на других сайтах

9 часов назад, gyurza2000 сказал:

О, магистр, здравствуйте :)

Я так и сделал,но, смотрю в логи и вижу, что что то отдаётся по HTTP/2, а что то по HTTP/1.1.

Причём, самое удивительное - это может быть одна и та же страничка. Заход с одного IP выдача с разницей 2 сек


В этом случае может тянуться с субдомена на котором http2 не настроено.
Чудес не бывает.
надо проверять остальные vhost на предмет поддержки http2

Ссылка на комментарий
Поделиться на других сайтах

6 часов назад, splka сказал:

В этом случае может тянуться с субдомена на котором http2 не настроено

ну какой субдомен, если речь идёт об одной и той же страничке?

 

В Vhostах ничего не дописывал, всё делал в глобальном конфиге Apache ( httpd.conf )

Добавил Protocols h2 h2c http/1.1

Перевёл Apache на mod_mpm_event

Включил mod_proxy_fcgi

Прописал 

<IfModule proxy_fcgi_module>
    <IfModule dir_module>
        DirectoryIndex index.php
    </IfModule>
    <FilesMatch "\.php$">
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
    ProxyTimeout 1200
</IfModule>

Включил mod_http2

Отключил libphp7

 

OpenSSL 1.1.1d, сайт работает на SSL уже несколько лет

Ссылка на комментарий
Поделиться на других сайтах

В данном примере страницы разные, но:

95.163.118.120 - - [19/Mar/2020:15:33:38 +0300] "GET /vneshnie-kapelnicy/kompensirovannye-kapelnicy/kapelnica-rainbow-razbornaya-4-l-ch-kompensirovannaya-irritec.html HTTP/1.1" 200 34869
95.163.118.120 - - [19/Mar/2020:15:33:38 +0300] "GET /vneshnie-kapelnicy/kompensirovannye-kapelnicy/kapelnica-rainbow-razbornaya-4-l-ch-kompensirovannaya-irritec.html HTTP/1.1" 200 34869
54.36.150.6 - - [19/Mar/2020:15:34:02 +0300] "GET /shlangi-i-soedineniya/otvody-dlya-shlangov/startovyy-adapter-20-mm-povyshennoy-nadyozhnosti.html HTTP/2.0" 200 31874
54.36.150.6 - - [19/Mar/2020:15:34:02 +0300] "GET /shlangi-i-soedineniya/otvody-dlya-shlangov/startovyy-adapter-20-mm-povyshennoy-nadyozhnosti.html HTTP/2.0" 200 31874

Да, кстати, почему по 2 раза?

Ссылка на комментарий
Поделиться на других сайтах

7 часов назад, splka сказал:

перешёл год назад ещё и на ssl 1.3.
Если ssl ещё в драфте и тесте и ломает certbot-auto

Во-первых, не SSL, а TLS! А SSL как протокол давно устарел уже.

А во-вторых, TLS1.3 окончательно стандартизирован ещё в августе 2018 в RFC 8446!

 

Что у вас в certbot сломалось вообще не понятно, он к протоколам шифрования, которые использует ваш сервер, отношения не имеет.

 

 

17 часов назад, gyurza2000 сказал:

Причём, самое удивительное - это может быть одна и та же страничка. Заход с одного IP выдача с разницей 2 сек

Такое может быть, если первый запрос пришёл по http (а там в принципе HTTP/2 не работает) и его средиректило на https.

И вообще, если у вас есть ссылки без https, то там и HTTP/2 не будет.

Это к случаям когда с одного ip обе версии протокола. А ещё запросы просто могут идти от какого-то бота, который не поддерживает HTTP/2, но тогда они все будут без HTTP/2.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


@Dotrox, писал не проснувшись.

l# openssl version
OpenSSL 1.1.1-dev  xx XXX xxxx

 

 

 certbot renew
Traceback (most recent call last):
  File "/usr/bin/certbot", line 11, in <module>
    load_entry_point('certbot==1.1.0', 'console_scripts', 'certbot')()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 489, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2852, in load_entry_point
    return ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2443, in load
    return self.resolve()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2449, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3/dist-packages/certbot/main.py", line 2, in <module>
    from certbot._internal import main as internal_main
  File "/usr/lib/python3/dist-packages/certbot/_internal/main.py", line 10, in <module>
    import josepy as jose
  File "/usr/lib/python3/dist-packages/josepy/__init__.py", line 41, in <module>
    from josepy.interfaces import JSONDeSerializable
  File "/usr/lib/python3/dist-packages/josepy/interfaces.py", line 7, in <module>
    from josepy import errors, util
  File "/usr/lib/python3/dist-packages/josepy/util.py", line 7, in <module>
    import OpenSSL
  File "/usr/lib/python3/dist-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import crypto, SSL
  File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 16, in <module>
    from OpenSSL._util import (
  File "/usr/lib/python3/dist-packages/OpenSSL/_util.py", line 6, in <module>
    from cryptography.hazmat.bindings.openssl.binding import Binding
  File "/usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 15, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: /usr/local/lib/libcrypto.so.1.1: version `OPENSSL_1_1_0j' not found (required by /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/_openssl.abi3.so)

@gyurza2000
Зачем медленный апач, есть есть быстрый nginx?
У апача есть какие-то проблемы при использовании http2.
Его или пересобирать надо было или что-то дополнительно включать.

 

Протокол HTTP/2 поддерживается сервером Apache с версии 2.4.24, поэтому, если у Вас установлена более старая версия, — самое время её обновить. Но сначала проверим:

apache -v

 

Ссылка на комментарий
Поделиться на других сайтах

56 минут назад, splka сказал:

Зачем медленный апач, есть есть быстрый nginx

Так исторически сложилось :)

 httpd -v
Server version: Apache/2.4.41 (FreeBSD)

 

Ссылка на комментарий
Поделиться на других сайтах

28 минут назад, gyurza2000 сказал:

Так исторически сложилось :)


 httpd -v
Server version: Apache/2.4.41 (FreeBSD)

 


Отличный ответ)

Если уж фряха на сервере, то могу посоветовать:

1.http/1.1 выпилить из конфига вхоста

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

Изменено пользователем splka
Ссылка на комментарий
Поделиться на других сайтах

10 часов назад, splka сказал:

ImportError: /usr/local/lib/libcrypto.so.1.1: version `OPENSSL_1_1_0j' not found

Вы установили новую версию OpenSSL после установки certbot?

Вам стоит обновить уже OpenSSL до актуальной стабильной версии. А после этого переустановите certbot по этой инструкции: https://certbot.eff.org/lets-encrypt/debianjessie-nginx

(не обращайте внимание на версию ОС, там значение имеет откуда скачивается certbot).

 

 

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.