Apache 2.4代理向所有请求添加请求参数
Apache 2.4 proxy add request parameter to all requets
我正在使用多租户的 Crafter CMS。我正在尝试将 RHEL7 上的 Apache2.4 设置为反向代理。 http://site.example.com -> ajp://localhost:9009/?crafterSite=site
这是我的 Apache2 虚拟主机配置。我已确保 mod_proxy 和 mod_rewrite 已加载。我可以通过代理到达 Crafter Delivery,但重写不起作用,因为 Crafter 不知道我要加载哪个站点。有没有人对如何让它工作有任何建议。
<VirtualHost *:80>
ServerName site.example.com
LogLevel alert rewrite:trace3
RewriteEngine On
RewriteRule ^$ /?crafterSite=site [QSA,L]
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / ajp://localhost:9009/
ProxyPassReverse / ajp://localhost:9009/
</VirtualHost>
尝试将重写规则更改为:
RewriteRule (.*) ?crafterSite=site [QSA,PT]
其中 site
是您的站点 ID。
区别是:
- 它会重写任何传入的内容,而不管 URL 并保留它(请参阅
(.*)
和 </code>)</li>
<li>这是直通 <code>PT
(不是重定向)。这意味着它用参数增加了请求,并让它直接进入 Crafter 引擎。
我正在使用多租户的 Crafter CMS。我正在尝试将 RHEL7 上的 Apache2.4 设置为反向代理。 http://site.example.com -> ajp://localhost:9009/?crafterSite=site
这是我的 Apache2 虚拟主机配置。我已确保 mod_proxy 和 mod_rewrite 已加载。我可以通过代理到达 Crafter Delivery,但重写不起作用,因为 Crafter 不知道我要加载哪个站点。有没有人对如何让它工作有任何建议。
<VirtualHost *:80>
ServerName site.example.com
LogLevel alert rewrite:trace3
RewriteEngine On
RewriteRule ^$ /?crafterSite=site [QSA,L]
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / ajp://localhost:9009/
ProxyPassReverse / ajp://localhost:9009/
</VirtualHost>
尝试将重写规则更改为:
RewriteRule (.*) ?crafterSite=site [QSA,PT]
其中 site
是您的站点 ID。
区别是:
- 它会重写任何传入的内容,而不管 URL 并保留它(请参阅
(.*)
和</code>)</li> <li>这是直通 <code>PT
(不是重定向)。这意味着它用参数增加了请求,并让它直接进入 Crafter 引擎。