Поддержка HTTP2 в MAMP Pro



Есть ли способ включить поддержку HTTP2 в MAMP Pro? Я хочу протестировать и улучшить некоторые из моих локальных сайтов разработки с поддержкой HTTP2.



Я уже некоторое время ищу, но не нашел ни одного решения.

704   4  

4 ответов:

Недавно я настроил HTTP2 для приложения NodeJS на MAMP Pro с NGINX. Я написал об этом короткую статью https://www.linkedin.com/pulse/nodejs-http2-server-mamp-pro-nginx-sergei-iastrebov / я думаю, это вам поможет.

Если вы используете Nginx, вы можете просто добавить следующий код в свой серверный блок или блок http (для global) в nginx.conf

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";

В противном случае, если Apache вы можете сделать выше, то откройте настройку Nginx и включите "Use Nginx as a Reverse Proxy of Apache"

Для MAMP Pro v4.0.0

C:\>F:\MAMP\bin\nginx\nginx.exe -V
nginx version: nginx/1.13.1
built by cl 16.00.40219.01 for 80x86
built with OpenSSL 1.0.1m 19 Mar 2015
TLS SNI support enabled
configure arguments: --with-cc=cl --builddir=objs --prefix= --conf-path=conf/nginx.conf --pid-path=logs/nginx.pid --http-log-path=logs/access.log --error-log-path=logs/error.log --sbin-path=nginx.exe
--http-client-body-temp-path=temp/client_body_temp --http-proxy-temp-path=temp/proxy_temp --http-fastcgi-temp-path=temp/fastcgi_temp --with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=objs/lib/pcre --with-zl
ib=objs/lib/zlib --with-openssl=objs/lib/openssl --with-select_module --with-http_ssl_module --add-module=c:/MinGW/msys/1.0/home/Nebojsa/subsmodule/ngx_http_substitutions_filter_module

Nginx не построен с поддержкой HTTP2

C:\>F:\MAMP\bin\apache\bin\httpd.exe -V
Server version: Apache/2.2.31 (Win32)
Server built:   May  6 2016 10:19:53
Server's Module Magic Number: 20051115:40
Server loaded:  APR 1.5.2, APR-Util 1.5.4
Compiled using: APR 1.5.2, APR-Util 1.5.4
Architecture:   32-bit
Server MPM:     WinNT
  threaded:     yes (fixed thread count)
    forked:     no
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/winnt"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/apache"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error.log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

Если вы посмотрите на модуль Apache HTTP2

Модуль Apache mod_http2

Доступные языки: en

Описание: поддержка транспортного уровня HTTP / 2

Статус: Расширение

Идентификатор модуля: http2_module

Исходный файл: mod_http2.c

Совместимость: доступно в версии 2.4.17 и позднее

Минимальная версия Apache не встречается с MAMP Pro 4, использующим Apache 2.2.31.

Таким образом, вы не можете использовать модуль HTTP2. Лучше использовать другую более новую версию apache через docker или напрямую работать с HTTP2

Как заявил Тарун, версии Apache и Nginx, включенные в MAMP pro, не поддерживают HTTP / 2. Кроме того, для поддержки HTTP/2 в большинстве браузеров требуется современная версия OpenSSL (1.0.2).

Поэтому ваши лучшие варианты-это изменить Apache и / или Nginx для поддержки этого. Затем вы можете скопировать соответствующую конфигурацию для подключения к остальной части стека MAMP (например, MySQL, PHP..и т.д.).

Если вы находитесь на Windows, то ApacheHaus и Apache Lounge предлагают последние версии Apache с поддержкой HTTP / 2. Или, если вы предпочитаете Nginx, то можетезагрузить их непосредственно из Nginx .

Если вы находитесь на MacOS, то Homebrew позволяет устанавливать последние версии Apache и Nginx.

В качестве альтернативы вы можете использовать образ Docker, если он настроен для этого, или можете скомпилировать из исходного кода (относительно простой для MacOS, очень похожий на linux, но немного более сложный для Windows).

Comments

    Ничего не найдено.