始终将参数传递给 apache 反向代理
Always pass paremeter to apache reverse proxy
我在 http 上有一个服务器 运行。使用反向代理,我能够将其包装到 https 中并将其作为 https 服务器。
http 服务器在端口 9000
上运行并需要 GET
参数 action
.
因此,使用此配置,我可以将我的 http 包装在 https:
SSLEngine On
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
SSLProxyEngine On
ProxyPass /snapshot/ http://localhost:9000/
ProxyPassReverse /snapshot/ http://localhost:9000/
但是我仍然想从 /snapshot/ 重定向到一个查询参数 在 一个斜线之后:
https:// 示例。com/snapshot/ -> https:// example.com:9000 /?action=快照
我无法理解这个重定向。我尝试了一些 RewriteRule,但只能让它重定向到 /snapshot?action=snapshot。
请注意参数应该是 在 斜杠之后并且 URL 不应该显示动作参数。
我该如何管理?
使用 RewriteRule 而不是 ReverseProxy 达到了目的。用这些行替换 SSLProxyEngine On 行对我有用:
RewriteEngine On
RewriteRule snapshot/ http://localhost:9000/?action=snapshot [P]
RewriteRule stream/ http://localhost:9000/?action=stream [P]
我在 http 上有一个服务器 运行。使用反向代理,我能够将其包装到 https 中并将其作为 https 服务器。
http 服务器在端口 9000
上运行并需要 GET
参数 action
.
因此,使用此配置,我可以将我的 http 包装在 https:
SSLEngine On
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
SSLProxyEngine On
ProxyPass /snapshot/ http://localhost:9000/
ProxyPassReverse /snapshot/ http://localhost:9000/
但是我仍然想从 /snapshot/ 重定向到一个查询参数 在 一个斜线之后:
https:// 示例。com/snapshot/ -> https:// example.com:9000 /?action=快照
我无法理解这个重定向。我尝试了一些 RewriteRule,但只能让它重定向到 /snapshot?action=snapshot。 请注意参数应该是 在 斜杠之后并且 URL 不应该显示动作参数。
我该如何管理?
使用 RewriteRule 而不是 ReverseProxy 达到了目的。用这些行替换 SSLProxyEngine On 行对我有用:
RewriteEngine On
RewriteRule snapshot/ http://localhost:9000/?action=snapshot [P]
RewriteRule stream/ http://localhost:9000/?action=stream [P]