Debian Stretch 버전 2.4.33에서 Apache2 HTTP/2를 활성화하는 방법은 무엇입니까?

Debian Stretch 버전 2.4.33에서 Apache2 HTTP/2를 활성화하는 방법은 무엇입니까?

오늘은 데비안 웹 서버를 매주 업그레이드합니다.

다음 메시지를 받았습니다.

apache2 (2.4.25-3+deb9u5) stretch; urgency=medium
 * This package upgrades mod_http2 to the version from apache2 2.4.33. This
   fixes a lot of bugs and some security issues, but it also removes the
   support for using HTTP/2 when running with mpm_prefork. HTTP/2 support
   is only provided when running with mpm_event or mpm_worker.
-- Stefan Fritsch <[email protected]>  Sat, 02 Jun 2018 09:51:46 +0200

내 서버에서 HTTP/2를 사용하고 있기 때문에 이것이 나를 놀라게 합니다. 내 서버를 테스트했습니다.SSL 연구소, HTTP/2는 실제로 사라졌습니다.

공식 Apache 및 PHP 7.0 패키지를 사용한다고 가정하면 이 문제를 어떻게 해결할 수 있습니까?

답변1

제 경우에는 다음 명령을 적용하여 root다시 작동하게 했습니다.

# enable these mods
a2enmod proxy_fcgi setenvif

# disable standard PHP module
a2dismod php7.3

# if you don't have FPM already installed
apt-get install php7.3-fpm

# query the MPM
a2query -M

prefork또는 이 표시되면 worker다음 단계를 계속해야 합니다. 이 표시되면 event다음 2단계를 건너뛰어도 됩니다.

# disable the prefork / worker MPM (only one MPM can run at a time)
a2dismod mpm_prefork mpm_worker

# enable event MPM
a2enmod mpm_event

# start and enable the FastCGI Process Manager
systemctl start php7.3-fpm && systemctl enable php7.3-fpm

# enable the FastCGI Process Manager configuration
a2enconf php7.3-fpm

# start Apache2 web server
systemctl restart apache2

GNU/Linux Debian 10 Buster에서 실행되도록 테스트되었습니다.2019년 4월 11일.


이제 마침내 ALPN을 통해 HTTP/2를 활성화할 수 있습니다.

이 파일의 모든 사이트에 대해 전역적으로 이 작업을 수행할 수 있습니다.

/etc/apache2/apache2.conf

다음 명령을 사용하십시오.

Protocols h2 http/1.1

관련 정보