Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


sitecreator

Recommended Posts

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 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.