-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
<!ENTITY % idcommon SYSTEM "common/common.ent">
<refentry id="ref-frontend_net">
<refentryinfo>
<productname>Metaproxy</productname>
- <info><orgname>Index Data</orgname></info>
+ <orgname>Index Data</orgname>
</refentryinfo>
<refmeta>
<manvolnum>3mp</manvolnum>
<refmiscinfo class="manual">Metaproxy Module</refmiscinfo>
</refmeta>
-
+
<refnamediv>
<refname>frontend_net</refname>
<refpurpose>Metaproxy Network Server module that accepts Z39.50 and
HTTP requests</refpurpose>
</refnamediv>
-
+
<refsect1><title>DESCRIPTION</title>
<para>
This is a frontend module. Listens on one or more ports and
<refsect1><title>CONFIGURATION</title>
<para>
Element <literal>port</literal> is a repeating element (1 or more). The
- text content specifies a listening port.
+ text content specifies a listening port. A few attributes may be
+ given for each port element. Attribute <literal>route</literal> specifies
+ the route to use for the port. Attribute <literal>max_recv_bytes</literal>
+ specifies maximum package size that YAZ should accept (it calls
+ cs_set_max_recv_bytes function of YAZ).
</para>
<para>
Element <literal>threads</literal> is an optional element. The
filters to use. The default value is 5 (5 worker threads).
</para>
<para>
+ Element <literal>max-threads</literal> is an optional element. The
+ text content specifies maximum number of worker threads for the following
+ filters to use. By default the thread count is fixed.
+ By using this setting with a higher value than the treads
+ setting extra worker threads will be added as necessary.
+ </para>
+ <para>
+ Element <literal>stack-size</literal> is an optional element. The
+ text content specifies stack size in kilo bytes for worker threads.
+ If omitted, the system default stack size for threads is used.
+ </para>
+ <para>
Element <literal>timeout</literal> is an optional element. The
text content is treated as an integer that specifies the session timeout
in seconds for a client session (using the frontend net filter). The
default value is 300 (5 minutes).
</para>
<para>
- Element <literal>connect-max</literal> is an optional element. The
- text content is treated as an integer that specifies maximum number
- of TCP sessions from the same original IP. The special value 0 means
- : no connection limit. This is also the default if this element is omitted.
+ Element <literal>connect-max</literal> is an optional repeatable element.
+ The text content is treated as an integer that specifies maximum number
+ of accepted TCP sessions from the same original IP. A value of 0
+ means unlimited (no limit). The attribute <literal>ip</literal>
+ specifies an IP-pattern to match. If the IP pattern is matched, the
+ limit takes effect. By repeating this element with different IP
+ patterns, limits may be configured "per-IP". If no patterns are
+ matched, no limit takes place. The IP pattern is a glob pattern.
+ Blanks in a pattern may be used to provide alternatives.
+ For example:
+ <literal>ip="::1 127*"</literal> would match <literal>::1</literal> or
+ <literal>127.0.0.1</literal> , but not <literal>128.0.0.1</literal>.
+ </para>
+ <para>
+ Element <literal>http-req-max</literal> is an optional repeatable element.
+ The text content is treated as an integer that specifies maximum number
+ of accepted HTTP requests from the same original IP. A value of 0
+ means unlimited (no limit). The attribute <literal>ip</literal>
+ specifies an IP-pattern to match. If the IP pattern is matched, the
+ limit takes effect. By repeating this element with different IP
+ patterns, limits may be configured "per-IP". If no patterns are
+ matched, no limit takes place. The IP pattern is a glob pattern.
+ Blanks in a pattern may be used to provide alternatives.
+ </para>
+ <para>
+ Element <literal>message</literal> is an optional element. If
+ given and non-empty logging is performed by the frontend_net filter
+ (to the log file as given ny option -l).
+ </para>
+ <para>
+ Element <literal>stat-req</literal> is an optional element. It
+ specifies a URL path that triggers a report to be generated by
+ the frontend_net filter. By default this report is disabled (same
+ as empty value). The value itself is the path and should be prefixed
+ with a slash. For example <literal>/fn_stat</literal>.
</para>
</refsect1>
-
+
<refsect1><title>SCHEMA</title>
<literallayout><xi:include
xi:href="../xml/schema/filter_frontend_net.rnc"
- xi:parse="text"
+ xi:parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</literallayout>
</refsect1>
-
+
<refsect1><title>EXAMPLES</title>
<para>
A typical configuration looks like this:
<screen><![CDATA[
<filter type="frontend_net">
- <port>@:9000</port>
<threads>10</threads>
+ <port>@:9000</port>
+ <connect-max>100</connect-max>
+ <!-- allow many HTTP requests from localhost -->
+ <http-req-max ip="::1 127.*">10000</http-req-max>
+ <!-- fewer for outsiders -->
+ <http-req-max>100</http-req-max>
+ <message>FN</message>
+ <stat-req>/fn_stat</stat-req>
</filter>
]]>
</screen>
</para>
- </refsect1>
-
+ </refsect1>
+
<refsect1><title>SEE ALSO</title>
<para>
<citerefentry>
</citerefentry>
</para>
</refsect1>
-
+
©right;
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
-mode: sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:1
-sgml-indent-data:t
-sgml-parent-document:nil
-sgml-local-catalogs: nil
-sgml-namecase-general:t
+mode: nxml
+nxml-child-indent: 1
End:
-->