summaryrefslogtreecommitdiffstats
path: root/docs/manual/mod/mod_proxy_fcgi.html.en
blob: aac7928f50adc9d218a23a3d3871e555a7099ab6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_proxy_fcgi - Apache HTTP Server</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
<p class="apache">Apache HTTP Server Version 2.3</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache Module mod_proxy_fcgi</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_fcgi.html" title="English">&nbsp;en&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>FastCGI support module for
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr>
<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Module�Identifier:</a></th><td>proxy_fcgi_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Source�File:</a></th><td>mod_proxy_fcgi.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.3 and later</td></tr></table>
<h3>Summary</h3>

    <p>This module <em>requires</em> the service of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. It provides support for the 
    <a href="http://www.fastcgi.com/">FastCGI</a> protocol.</p>

    <p>Thus, in order to get the ability of handling the <code>FastCGI</code>
    protocol, <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and
    <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> have to be present in the server.</p>

    <p>Unlike <a href="http://httpd.apache.org/mod_fcgid/">mod_fcgid</a>
    and <a href="http://www.fastcgi.com/">mod_fastcgi</a>, 
    <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> has no provision for starting the
    application process; <code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code> is provided for
    that purpose.</p>

    <div class="warning"><h3>Warning</h3>
      <p>Do not enable proxying until you have <a href="mod_proxy.html#access">secured your server</a>. Open proxy
      servers are dangerous both to your network and to the Internet at
      large.</p>
    </div>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<p>This module provides no
            directives.</p>
<h3>Topics</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li>
</ul><h3>See also</h3>
<ul class="seealso">
<li><code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="examples" id="examples">Examples</a></h2>
    <p>Remember, in order to make the following examples work, you have to
    enable <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>.</p>

    <div class="example"><h3>Single application instance</h3><p><code>
      ProxyPass /myapp/ fcgi://localhost:4000/
    </code></p></div>

    <p>This application should be able to handle multiple concurrent
    connections.  <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> enables connection reuse by 
    default, so after a request has been completed the connection will be
    held open by that httpd child process and won't be reused until that
    httpd process routes another request to the application.  If the 
    FastCGI application is unable to handle enough concurrent connections
    from httpd, requests can block waiting for the application to close
    an existing connection.  One way to resolve this is to disable connection
    reuse on the <code class="directive">ProxyPass</code> directive, as shown in
    the following example:</p>

    <div class="example"><h3>Single application instance, no connection reuse</h3><p><code>
      ProxyPass /myapp/ fcgi://localhost:4000/ disablereuse=on
    </code></p></div>

    <p>The balanced gateway needs <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> and
    at least one load balancer algorithm module, such as 
    <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code>, in addition to the proxy
    modules listed above.  <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> is the
    default, and will be used for this example configuration.</p>

    <div class="example"><h3>Balanced gateway to multiple application instances</h3><p><code>
    ProxyPass /myapp/ balancer://myappcluster/<br />
    &lt;Proxy balancer://myappcluster/&gt;<br />
    <span class="indent">
        BalancerMember fcgi://localhost:4000/<br />
        BalancerMember fcgi://localhost:4001/<br />
    </span>
    &lt;/Proxy&gt;
    </code></p></div>
</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_fcgi.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2010 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html>