⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mod_proxy.html.en

📁 Apache2.2.4 with OpenSSL 0.9.8e 提供HTTP及HTTPS服务。 带QuickUsage
💻 EN
📖 第 1 页 / 共 5 页
字号:
    then</p>

    <div class="example"><p><code>
      ProxyPass /mirror/foo/ http://backend.example.com/
    </code></p></div>

    <p>will cause a local request for
    <code>http://example.com/mirror/foo/bar</code> to be internally converted
    into a proxy request to <code>http://backend.example.com/bar</code>.</p>

    <p>The <code>!</code> directive is useful in situations where you don't want
    to reverse-proxy a subdirectory, <em>e.g.</em></p>

    <div class="example"><p><code>
      ProxyPass /mirror/foo/i !<br />
      ProxyPass /mirror/foo http://backend.example.com
    </code></p></div>

    <p>will proxy all requests to <code>/mirror/foo</code> to
    <code>backend.example.com</code> <em>except</em> requests made to
    <code>/mirror/foo/i</code>.</p>

    <div class="note"><h3>Note</h3>
      <p>Order is important. you need to put the exclusions <em>before</em> the
      general <code class="directive">ProxyPass</code> directive.</p>
    </div>

    <p>As of Apache 2.1, the ability to use pooled connections to a backend
    server is available. Using the <code>key=value</code> parameters it is
    possible to tune this connection pooling. The default for a <code>Hard
    Maximum</code> for the number of connections is the number of threads per
    process in the active MPM. In the Prefork MPM, this is always 1, while with
    the Worker MPM it is controlled by the
    <code class="directive">ThreadsPerChild</code>.</p>

    <p>Setting <code>min</code> will determine how many connections will always 
    be open to the backend server. Upto the Soft Maximum or <code>smax</code> 
    number of connections will be created on demand. Any connections above 
    <code>smax</code> are subject to a time to live or <code>ttl</code>.  Apache
    will never create more than the Hard Maximum or <code>max</code> connections
    to the backend server.</p>

    <div class="example"><p><code>
        ProxyPass /example http://backend.example.com smax=5 max=20 ttl=120 retry=300
    </code></p></div>

    <table>
    <tr><th>Parameter</th>
        <th>Default</th>
        <th>Description</th></tr>
    <tr><td>min</td>
        <td>0</td>
        <td>Minumum number of connections that will always
            be open to the backend server.</td></tr>
    <tr><td>max</td>
        <td>1...n</td>
        <td>Hard Maximum number of connections that will be
    allowed to the backend server. The default for a Hard Maximum
    for the number of connections is the number of threads per process in the 
    active MPM. In the Prefork MPM, this is always 1, while with the Worker MPM
    it is controlled by the <code class="directive">ThreadsPerChild</code>.
    Apache will never create more than the Hard Maximum connections
    to the backend server.</td></tr>
    <tr><td>smax</td>
        <td>max</td>
        <td>Upto the Soft Maximum
    number of connections will be created on demand. Any connections above 
    <code>smax</code> are subject to a time to live or <code>ttl</code>.
    </td></tr>
    <tr><td>acquire</td>
        <td>-</td>
        <td>If set this will be the maximum time to wait for a free
    connection in the connection pool. If there are no free connections
    in the pool the Apache will return <code>SERVER_BUSY</code> status to
    the client.
    </td></tr>
    <tr><td>flushpackets</td>
        <td>off</td>
        <td>Determines whether the proxy module will auto-flush the output
        brigade after each "chunk" of data. 'off' means that it will flush
        only when needed, 'on' means after each chunk is sent and
        'auto' means poll/wait for a period of time and flush if
        no input has been received for 'flushwait' milliseconds.
        Currently this is in effect only for AJP.
    </td></tr>
    <tr><td>flushwait</td>
        <td>10</td>
        <td>The time to wait for additional input, in milliseconds, before
        flushing the output brigade if 'flushpackets' is 'auto'.
    </td></tr>
    <tr><td>keepalive</td>
        <td>Off</td>
        <td>This parameter should be used when you have a firewall between your
    Apache and the backend server, who tend to drop inactive connections.
    This flag will tell the Operating System to send <code>KEEP_ALIVE</code>
    messages on inactive connections (interval depends on global OS settings,
    generally 120ms), and thus prevent the firewall to drop the connection.
    To enable keepalive set this property value to <code>On</code>. 
    </td></tr>
    <tr><td>lbset</td>
        <td>0</td>
        <td>Sets the load balancer cluster set that the worker is a member
         of. The load balancer will try all members of a lower numbered
         lbset before trying higher numbered ones.
    </td></tr>
    <tr><td>loadfactor</td>
        <td>1</td>
        <td>Worker load factor. Used with BalancerMember.
         It is a number between 1 and 100 and defines the normalized weighted
         load applied to the worker.
    </td></tr>
    <tr><td>redirect</td>
        <td>-</td>
        <td>Redirection Route of the worker. This value is usually
        set dynamically to enable safe removal of the node from
        the cluster. If set all requests without session id will be
        redirected to the BalancerMember that has route parametar
        equal as this value.
    </td></tr>
    <tr><td>retry</td>
        <td>60</td>
        <td>Connection pool worker retry timeout in seconds.
    If the connection pool worker to the backend server is in the error state,
    Apache will not forward any requests to that server until the timeout
    expires. This enables to shut down the backend server for maintenance,
    and bring it back online later.
    </td></tr>
    <tr><td>route</td>
        <td>-</td>
        <td>Route of the worker when used inside load balancer.
        The route is a value appended to seesion id.
    </td></tr>
    <tr><td>status</td>
        <td>-</td>
        <td>Single letter value defining the initial status of
        this worker: 'D' is disabled, 'S' is stopped, 'H' is hot-standby
        and 'E' is in an error state. Status can be set (which is the default)
        by prepending with '+' or cleared by prepending with '-'.
        Thus, a setting of 'S-E' sets this worker to Stopped and
        clears the in-error flag.
    </td></tr>
    <tr><td>timeout</td>
        <td><code class="directive">Timeout</code></td>
        <td>Connection timeout in seconds.
        If not set the Apache will wait until the free connection
        is available. This directive is used for limiting the number
        of connections to the backend server together with <code>max</code>
        parameter.
    </td></tr>
    <tr><td>ttl</td>
        <td>-</td>
        <td>Time To Live for the inactive connections above the
        <code>smax</code> connections in seconds. Apache will close all
        connections that has not been used inside that time period.
    </td></tr>

    </table>

    <p>If the Proxy directive scheme starts with the
    <code>balancer://</code> then a virtual worker that does not really
    communicate with the backend server will be created. Instead it is responsible
    for the management of several "real" workers. In that case the special set of
    parameters can be add to this virtual worker. See <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>
    for more information about how the balancer works.
    </p>
    <table>
    <tr><th>Parameter</th>
        <th>Default</th>
        <th>Description</th></tr>
    <tr><td>lbmethod</td>
        <td>byrequests</td>
        <td>Balancer load-balance method. Select the load-balancing scheduler
        method to use. Either <code>byrequests</code>, to perform weighted
        request counting or <code>bytraffic</code>, to perform weighted
        traffic byte count balancing. Default is <code>byrequests</code>.
    </td></tr>
    <tr><td>maxattempts</td>
        <td>1</td>
        <td>Maximum number of failover attempts before giving up. 
    </td></tr>
    <tr><td>nofailover</td>
        <td>Off</td>
        <td>If set to <code>On</code> the session will break if the worker is in
        error state or disabled. Set this value to On if backend servers do not
        support session replication.
    </td></tr>
    <tr><td>stickysession</td>
        <td>-</td>
        <td>Balancer sticky session name. The value is usually set to something
        like <code>JSESSIONID</code> or <code>PHPSESSIONID</code>,
        and it depends on the backend application server that support sessions.
    </td></tr>
    <tr><td>timeout</td>
        <td>0</td>
        <td>Balancer timeout in seconds. If set this will be the maximum time
        to wait for a free worker. Default is not to wait. 
    </td></tr>
    
    </table>
    <p>A sample balancer setup</p>
    <div class="example"><p><code>
      ProxyPass /special-area http://special.example.com/ smax=5 max=10<br />
      ProxyPass / balancer://mycluster stickysession=jsessionid nofailover=On<br />
      &lt;Proxy balancer://mycluster&gt;<br />
      <span class="indent">
        BalancerMember http://1.2.3.4:8009<br />
        BalancerMember http://1.2.3.5:8009 smax=10<br />
        # Less powerful server, don't send as many requests there<br />
        BalancerMember http://1.2.3.6:8009 smax=1 loadfactor=20<br />
      </span>
      &lt;/Proxy&gt;
    </code></p></div>

    <p>Setting up a hot-standby, that will only be used if no other
     members are available</p>
    <div class="example"><p><code>
      ProxyPass / balancer://hotcluster/ <br />
      &lt;Proxy balancer://hotcluster&gt;<br />
      <span class="indent">
        BalancerMember http://1.2.3.4:8009 loadfactor=1<br />
        BalancerMember http://1.2.3.5:8009 loadfactor=2<br />
        # The below is the hot standby<br />

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -