有没有办法在MAMP Pro中启用HTTP2支持?我想通过HTTP2支持来测试和改进我的一些本地开发网站。
我现在已经找了一段时间,但还没找到一个解决方案。
答案 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,则ApacheHaus和Apache Lounge会提供支持HTTP / 2的最新Apache版本。或者如果您更喜欢Nginx,那么可以download these directly from Nginx。
如果您使用的是MacOS,则Homebrew允许您安装Apache和Nginx的最新版本。
或者你可以使用Docker镜像(如果设置的话),或者可以从源代码编译(对于MacOS来说相对简单,就像linux一样,但对Windows来说更复杂一点)。