英语不是我的母语,请原谅输入错误。
i配置Apache反向代理如下,并且可以使用火。
ProxyRequests Off
SSLEngine On
SSLProxyEngine On
ProxyPass / https://example.com/
ProxyPassReverse / https://example.com/
和我的网站(PHP(支持HTTP/2
,所以我想通过HTTP/2
代理。
i启用 mod_proxy
, mod_proxy_http
, mod_ssl
, mod_http2
, mod_proxy_http2
和其他一些模块。并将.php
MIME-Type设置为application/x-httpd-php
。
AddType application/x-httpd-php .php
virtualHost:
<VirtualHost *:443>
DocumentRoot "/path/to/wwwroot/"
ServerName localhost:443
ProxyRequests Off
SSLEngine On
SSLProxyEngine On
ProxyPass / h2://example.com/
ProxyPassReverse / https://example.com/
# Cert
SSLCertificateFile ...
SSLCertificateKeyFile ...
</VirtualHost>
不同的是 ProxyPass / https://example.com/
至 ProxyPass / h2://example.com/
。
响应标头Content-Type
在浏览器中始终获取默认的Mime-type。
您可以在phpmyadmin演示中找到示例,在DevTools中的Filter whitelist.php
,此文件Content-Type
是text/javascript
。
由HTTP/2
,Content-Type
代理成为application/x-httpd-php
,它失去了源哑光型text/javascript
。
和 HTTP/1.1
的代理,它运行良好。
我如何重新解决这个问题?
谢谢。
这是一个古老的问题,但我遇到了同样的问题并决定调查。
我在http2代理中找到了一个错误。
它将在下一个HTTPD
版本中修复(2.4.55(
虚拟主机文件配置:
<VirtualHost *:443>
ServerAdmin admin@test.com
ServerName example.com
ServerAlias www.example.com
ssl_certificate .....
ssl_certificate_key ..........
ProxyRequests Off Order deny, allow Allow from all
<Location />
ProxyPass http://example.com:8000/
ProxyPassReverse http://example.com:8000/
</Location>
</VirtualHost>
接下来,我们需要启用一些Apache模块。为此,请发出以下命令:
sudo a2enmod代理
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests
Apache现在需要使用命令重新启动:
sudo服务apache2 restart