X-Git-Url: http://git.indexdata.com/?p=yazproxy-moved-to-github.git;a=blobdiff_plain;f=doc%2Fyaz-proxy-ref.xml;h=77c66bdc690f7e3ddec0de1f228c85fb753cf425;hp=252ed1ddc822f8cdfdc5f592102eaa4c651e7e39;hb=5076e32b1de695dc3e7b9509c9b05104b01a5f90;hpb=2f1a9a4b28ae43c9da9e0740f84048065b2d3bf6 diff --git a/doc/yaz-proxy-ref.xml b/doc/yaz-proxy-ref.xml index 252ed1d..77c66bd 100644 --- a/doc/yaz-proxy-ref.xml +++ b/doc/yaz-proxy-ref.xml @@ -1,33 +1,36 @@ - yaz-proxy + yazproxy 8 - yaz-proxy - The YAZ toolkit's transparent Z39.50 proxy + yazproxy + The YAZ toolkit's transparent Z39.50/SRU proxy - yaz-proxy + yazproxy -a filename + -c config + -D + -i seconds -l filename -m num - -v level - -t target - -U auth + -n num -o level - -i seconds - -T seconds + -t target -p pidfile + -T seconds -u userid - -c config + -v level + -X host:port DESCRIPTION - yaz-proxy is a Z39.50 optimizing proxy daemon. + yazproxy is a proxy that accepts connections + from Z39.50/SRU clients and contacts a Z39.50 backend. The listening port must be specified on the command-line. inetd operation is not supported. The host:port @@ -36,16 +39,17 @@ to listen for connections coming from any address. - yaz-proxy can be configured using command-line + yazproxy can be configured using command-line options or a configuration file. Configuration file options override values specified on the command-line. - yaz-proxy rereads its configuration file and + yazproxy rereads its configuration file and reopens log files when it receives the hangup signal, SIGHUP. + OPTIONS -a filename @@ -56,40 +60,46 @@ standard output. - -l filename + -c config - Specifies the name of a file to which to write a log of the - YAZ proxy activity. This uses the logging facility as provided - by the YAZ toolkit. If this options is omitted, the output - directed to stderr. + Specifies config filename. Configuration is in XML + and is only supported if the YAZ proxy is compiled with + libxml2. - -m num + -X - Specifies the maximum number of connections to be cached - [default 50]. + Puts YAZ proxy in the background after startup. This is + similar to using shell's & operator but often better since + it allows the start / stop script to capture startup errors. - -v level + -i seconds - Sets the logging level. level is - a comma-separated list of members of the set - {fatal,debug,warn,log,malloc,all,none}. + Specifies in seconds the idle time for communication between + client and proxy. If a connection is inactive for this long + it will be closed. Default: 600 seconds (10 minutes). - -t target + -l filename - Specifies the default backend target to use when a client - connects that does not explicitly specify a target in its - initRequest. + Specifies the name of a file to which to write a log of the + YAZ proxy activity. This uses the logging facility as provided + by the YAZ toolkit. If this options is omitted, the output + directed to stderr. + + + -m num + + Specifies the maximum number of client connections to be + offered [default 150]. - -U auth + -n num - Specifies authentication info to be sent to the backend target. - This is useful if you happen to have an internal target that - requires authentication, or if the client software does not allow - you to set it. + Sets maximum number of open files to num. + This is only available on systems that offers the + setrlimit(2) call. -o level @@ -100,11 +110,18 @@ features. By default optimization is enabled (value 1). - -i seconds + -p pidfile - Specifies in seconds the idle time for communication between - client and proxy. If a connection is inactive for this long - it will be closed. Default: 600 seconds (10 minutes). + When specified, yazproxy will create pidfile + with the process ID of the proxy. The pidfile will be generated + before the process changes identity (see option -u). + + + -t target + + Specifies the default backend target to use when a client + connects that does not explicitly specify a target in its + initRequest. -T seconds @@ -115,26 +132,27 @@ it will be closed. Default: 600 seconds (10 minutes). - -p pidfile - - When specified, yaz-proxy will create pidfile - with the process ID of the proxy. The pidfile will be generated - before the process changes identity (see option -u). - - -u userid - When specified, yaz-proxy will change identity to the user ID + When specified, yazproxy will change identity to the user ID specified, just after the proxy has started listening to a possibly privileged port and after the PID file has been created if specified by option -u. - -c config + -v level - Specifies config filename. Configuration is in XML - and is only supported if the YAZ proxy is compiled with - libxml2. + Sets the logging level. level is + a comma-separated list of members of the set + {fatal,debug,warn,log,malloc,all,none}. + + + -X + + Enables debugging mode for the proxy. When specified, the proxy will + not fork itself, thus any violations becomes fatal. Useful if + you run yazproxy inside gdb. + Don't run this in production. @@ -143,62 +161,46 @@ EXAMPLES The following command starts the proxy, listening on port - 9000, with its default backend target set to the Library of - Congress bibliographic server: - + 9000, with its default backend target set to Index Data's + test server: + - $ yaz-proxy -t z3950.loc.gov:7090 @:9000 + $ yazproxy -t indexdata.dk:210 @:9000 - The LOC target is sometimes very slow. You can connect to - it using yaz-client as follows: + You can connect to the proxy via yaz-client as follows: - $ yaz-client localhost:9000/voyager - Connecting...Ok. + $ ./yaz-client localhost:9000/gils + Connecting...OK. Sent initrequest. - Connection accepted by target. - ID : 34 - Name : Voyager LMS - Z39.50 Server - Version: 1.13 - Options: search present - Elapsed: 7.131197 - Z> f computer - Sent searchRequest. - Received SearchResponse. - Search was a success. - Number of hits: 10000 - records returned: 0 - Elapsed: 6.695174 + Connection accepted by v3 target. + ID : 81 + Name : Zebra Information Server/GFS/YAZ (YAZ Proxy) + Version: Zebra 1.3.15/1.23/2.0.19 + Options: search present delSet scan sort extendedServices namedResultSets + Elapsed: 0.152108 Z> f computer Sent searchRequest. Received SearchResponse. Search was a success. - Number of hits: 10000 + Number of hits: 3, setno 1 + SearchResult-1: computer(3) records returned: 0 - Elapsed: 0.001417 + Elapsed: 0.172533 - In this test, the second search was more than 4000 times faster - than the first, because the proxy cached the result of the first - search and noticed that the second was the same. - - The YAZ command-line client, yaz-client, allows you to set the proxy address by specifying option -p. In that case, the actual backend target is specified as part of the Initialize Request. - Suppose you have a proxy running on localhost, - port 9000 and wish to connect to Index Data's test target at - indexdata.dk:210/gils you could use: - - yaz-client -p localhost:9000 indexdata.dk:210/gils - - Since port 210 is the default, the port can be omitted: + Suppose the proxy running on localhost, port 9000. + To connect to British Library's server at + blpcz.bl.uk:21021 use: - yaz-client -p localhost:9000 indexdata.dk/gils + yaz-client -p localhost:9000 blpcz.bl.uk:21021/BLPC-ALL @@ -211,7 +213,7 @@ sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t - sgml-parent-document: "proxy.xml" + sgml-parent-document: "reference.xml" sgml-local-catalogs: nil sgml-namecase-general:t End: