Uruchomienie HTTP/2 w serwerze apache

Protokół HTTP/2 przyspiesza przekazywanie danych do klienta z serwera www. Serwer Apache posiada wsparcie (swój moduł w stabilnej wersji), zatem jest możliwa jego konfiguracja. Niemniej wymaga to modyfikacji w samym serwerze apache.

Przejście na mpm_event

Po pierwsze korzystanie z MPM:prefork nie wspiera protokołu HTTP/2. Konieczne jest zatem przebudowanie apache'a, aby domyślnie był wykorzystywany mpm_event (patrz repozytorium pakietów). Kolejnym krokiem jest konfiguracja w pliku httpd.conf.

httpd.conf

LoadModule mpm_event_module libexec/apache24/mod_mpm_event.so
#LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so

# Za/ladowanie modu/lu http2
LoadModule http2_module  libexec/apache24/mod_http2.so

<IfModule prefork.c>
    MinSpareServers          1
    MaxSpareServers          2
    MaxRequestWorkers      256
    MaxConnectionsPerChild 128
</ifModule>

<IfModule event.c>
    ServerLimit            4
    MaxClients           100
    StartServers           1
    ThreadsPerChild       25
    ThreadLimit           64
</IfModule>

Protocols h2 h2c http/1.1

rc.conf

W pliku /etc/rc.conf należy dodać obsługę ACCF:

apache24_enable="YES"
apache24_flags="-DSSL"
apache24_http_accept_enable="YES"