【问题标题】:Providing unique directives to proxy block by virtual host通过虚拟主机为代理块提供唯一指令
【发布时间】:2012-04-24 16:27:37
【问题描述】:

假设我的主配置中有以下 Proxy 块:

<Proxy balancer://PrivateSSL/>
  BalanceMember http://host:8080/ route=01 loadfactor=100
  BalanceMember http://host:8080/ roout=02 loadfactor=100
  ProxySet stickysession=ROUTEID
</Proxy>

现在,在VirtualHost 中,我可以像这样“增强/调整/修改”该块吗:

<VirtualHost ip:port>
   ...
   <Proxy balancer://PrivateSSL/>
     RequestHeader set Host reverse-proxy-host
   </Proxy>
</VirtualHost>

没有重复所有之前定义的Proxy 元素?

我实际上会玩这个,但社区可能有一个更好的模式(也许说是verboten,但我认为其他人会从答案中受益)。

【问题讨论】:

    标签: apache configuration reverse-proxy


    【解决方案1】:

    在本地测试将是一条狗。但是some RTFM helped out

    配置部分以非常特殊的顺序应用。由于这会对配置指令的解释方式产生重要影响,因此了解其工作原理非常重要。

    合并顺序为:

    1. &lt;Directory&gt;(正则表达式除外)和 .htaccess 完成 同时(使用 .htaccess,如果允许,覆盖 &lt;Directory&gt;
    2. &lt;DirectoryMatch&gt;(和&lt;Directory ~&gt;
    3. &lt;Files&gt;&lt;FilesMatch&gt; 完成 同时
    4. &lt;Location&gt;&lt;LocationMatch&gt; 同时完成
    5. &lt;If&gt;

    ...

    当请求由 mod_proxy 提供服务时,&lt;Proxy&gt; 容器在处理顺序中取代了 &lt;Directory&gt; 容器

    【讨论】:

    • 我能够在开发环境中进行测试。上述在虚拟主机容器中向通用代理配置添加指令的假设被证明是正确的。
    猜你喜欢
    • 2010-10-07
    • 2020-12-01
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 2017-09-03
    • 2021-01-03
    • 1970-01-01
    • 2021-11-30
    相关资源
    最近更新 更多