MAMP Pro中的HTTP2支持

时间:2016-11-16 16:02:12

标签: apache nginx mamp http2 mamp-pro

有没有办法在MAMP Pro中启用HTTP2支持?我想通过HTTP2支持来测试和改进我的一些本地开发网站。

我现在已经找了一段时间,但还没找到一个解决方案。

4 个答案:

答案 0 :(得分:3)

最近我使用NGINX在MAMP Pro上为NodeJS APP配置了HTTP2。我写了一篇关于它的简短文章https://www.linkedin.com/pulse/nodejs-http2-server-mamp-pro-nginx-sergei-iastrebov/我认为它会帮助你。

答案 1 :(得分:0)

如果您正在使用Nginx,您只需将以下代码添加到服务器块或http块(用于全局)到nginx.conf

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

否则,如果你可以在上面执行Apache,那么打开Nginx设置并启用“使用Nginx作为Apache的反向代理”

答案 2 :(得分:0)

对于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 2.2.31的MAMP Pro 4无法满足Apache的最低版本。

因此您无法使用HTTP2模块。最好通过docker使用其他较新版本的apache,或者直接使用HTTP2

答案 3 :(得分:0)

正如Tarun所说,MAMP pro中包含的Apache和Nginx版本不支持HTTP / 2。此外,HTTP / 2需要现代版本的OpenSSL(1.0.2)才能在大多数浏览器上支持HTTP / 2.

因此,您最好的选择是更改Apache和/或Nginx以支持此功能。然后,您可以复制相应的配置以连接到MAMP堆栈的其余部分(例如,MySQL,PHP ..等等。)。

如果您使用的是Windows,则ApacheHausApache Lounge会提供支持HTTP / 2的最新Apache版本。或者如果您更喜欢Nginx,那么可以download these directly from Nginx

如果您使用的是MacOS,则Homebrew允许您安装Apache和Nginx的最新版本。

或者你可以使用Docker镜像(如果设置的话),或者可以从源代码编译(对于MacOS来说相对简单,就像linux一样,但对Windows来说更复杂一点)。