编辑:我弄清楚了这个问题
我没有打开 http2 模块,因此在边缘启用 http2 不起作用。我不需要 apache 和我的节点服务器之间的 http2 通信,因为服务器之间没有 HTTP 连接限制。
本指南包含所有详细信息:
https://docs.bitnami.com/aws/apps/trac/administration/enable-http2-apache/
原始问题:
我在aws bitnami上使用apache作为一组节点服务器的反向代理。 vhost配置如下:
<VirtualHost *:443>
SSLProxyEngine on
ServerName staging.website.com
ProxyRequests off
Protocols h2 h2c http/1.1
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://httpBalancer>
BalancerMember http://127.0.0.1:2001 route=1
BalancerMember http://127.0.0.1:2002 route=2
Order Deny,Allow
Deny from none
Allow from all
ProxySet lbmethod=bybusyness
ProxySet stickysession=ROUTEID
</Proxy>
<Proxy balancer://wsBalancer>
BalancerMember ws://127.0.0.1:2001 route=1
BalancerMember ws://127.0.0.1:2002 route=2
Order Deny,Allow
Deny from none
Allow from all
ProxySet lbmethod=bybusyness
ProxySet stickysession=ROUTEID
</Proxy>
#RewriteEngine On
#RewriteCond %{HTTP:Upgrade} =websocket [NC]
#RewriteRule /updates balancer://wsBalancer/updates [P,L]
ProxyPass /updates balancer://wsBalancer/updates
ProxyPass / balancer://httpBalancer/
ProxyPassReverse / balancer://httpBalancer
ProxyPassReverse /updates balancer://wsBalancer/updates
ProxyPreserveHost On
SSLEngine on
SSLCertificateFile "/opt/bitnami/apache2/conf/server.crt"
SSLCertificateKeyFile "/opt/bitnami/apache2/conf/server.key"
SetEnvIfNoCase Origin "https?://(www\.)?(stripe\.com|js\.stripe\.com)(:\d+)?$" ACAO=$0
Header set Access-Control-Allow-Origin %{ACAO}e env=ACAO
Header set Access-Control-Allow-Credentials "true" env=ORIGIN
Header set Content-Security-Policy "frame-ancestors *.quikstrike.net;"
# Always set Vary: Origin when it's possible you may send CORS headers
Header merge Vary Origin
</VirtualHost>
我想让 apache 服务器接受来自 Web 浏览器客户端的 http2 连接,以便充分利用其完全多路复用。对我而言,对节点服务器的请求是 https、http 还是 http2 并不重要。这可能吗?如果这些是唯一的选择,我愿意接受涉及切换到 nginx 或使用 AWS 负载均衡器的解决方案,但我真的需要 http2 的完全多路复用
答案1
(该答案也是对原始问题的编辑)
我没有打开 http2 模块,因此在边缘启用 http2 不起作用。我不需要 apache 和我的节点服务器之间的 http2 通信,因为服务器之间没有 HTTP 连接限制。
本指南包含所有详细信息:
https://docs.bitnami.com/aws/apps/trac/administration/enable-http2-apache/