Add %a to mod_log_config for inserting the remote IP-address. This is the
adapted patch against 1.3 of Todd Eigenschink <eigenstr@mixi.net>'s original
patch for 1.2.5. For 1.2.5 we don't want it because its a feature. I also
added corresponding entries to the CHANGES and mod_log_config.html file.
Submitted by: Todd Eigenschink <eigenstr@mixi.net>
Reviewed by: Ralf S. Engelschall
Ops, we have totally mis-documented the %{LA-U:xxx} and %{LA-F:xxx}
constructs, thus no one noticed that it can be used to lookup the REMOTE_USER
variable (one of the mod_rewrite FAQs) even in per-server context. One just
has to use %{LA-U:REMOTE_USER} instead of %{REMOTE_USER} there. Notice that
%{REMOTE_USER} is also useful, but only for per-dir context.
First part to fix the synchronization-locking for RewriteMap programs under
Unix derivates who doesn't accept the locking of pipes directly.
But we perhaps have another problem: According to FreeBSD's manpage and a hint
by the submitter of PR#1029 flock() has to be used on opened filedescriptors
which are _not_ duplicated via fork(). This currently is not the case...
Submitted by: Ralf S. Engelschall
Reviewed by: Ralf S. Engelschall, Jim Jagielski
Add the new RewriteMap types `rnd' and `int' to mod_rewrite to allow Apache to
be used as a Reverse Proxy (where the backend servers are choosen via a `rnd'
map) and to allow mass virtual hosting without <VirtualHost> sections (where
you have to fix the case of server names when translating the Host-Header to a
directory structure).
Together with the comitted ProxyPassReverse directive we now have solved
two things the users have asked in the past:
1. The ability to use Apache as a full-featured Reverse Proxy
2. The ability to do mass virtual hosting without <VirtualHost> sections.
For both topics we should write stand-alone documents (perhaps inside
htdocs/manual/misc/) because they are not trivial to do, even when we now have
the functionality ;-)
Submitted by: Ralf S. Engelschall
Reviewed by: Dean Gaudet, Ralf S. Engelschall
dgaudet [Wed, 18 Feb 1998 10:01:01 +0000 (10:01 +0000)]
Fix various parsing bugs with <Dir/Loc/Files> sections. Improve the
error messages generated. Introduced cmd->end_token to make it easier
to do nested sections with proper error reporting. (Note that it can't
be used for <IfModule> or <Limit> unfortunately.)
PR#379: <Files> is not allowed within <Location> because it has no effect.
PR#1817: Change <Files> to work with basenames only. This fixes both
the bug introduced by the wildcarding change (* doesn't match /) and
bugs such as <Files a*b> not working.
Martin Kraemer [Thu, 5 Feb 1998 09:58:40 +0000 (09:58 +0000)]
Add a document describing a solution which uses XSSI and negotiation
to custom-tailor the apache ErrorDocuments to taste, adding the
advantage of returning internationalized versions of the error
messages depending on the client's language preferences.
dgaudet [Sun, 1 Feb 1998 22:05:29 +0000 (22:05 +0000)]
Add the UseCanonicalName directive which controls how self-referential
redirects are generated. This was at least approved in spirit by a
handful of folks two weeks ago. The default should be no behaviour
change.
This changes the prototype of construct_url(), and adds two new
API functions: get_server_name() and get_server_port(). So the
MODULE_MAGIC_NUMBER has been bumped.
PR: 315, 459, 485, 1433
Submitted by: Michael Douglass <mikedoug@texas.net>, Dean Gaudet
Ken Coar [Mon, 26 Jan 1998 16:54:35 +0000 (16:54 +0000)]
A truly mighty mod normalising HTML tags to uppercase, and
'i' and 'b' to 'EM' and 'STRONG' respectively. Been threatening
to do this for months.. no-one need try to maintain this when
writing/modifiying the docs.
brian [Mon, 26 Jan 1998 07:02:32 +0000 (07:02 +0000)]
PR:
If SGI is going to break their links, I'm not about to go ferreting around
their site looking for where they moved it to. Since the other entry is
generic for all OS's (or at least doesn't clearly state HOW it's related),
I've removed the SGI entry.
brian [Mon, 26 Jan 1998 06:58:31 +0000 (06:58 +0000)]
PR:
If SCO's going to break their links, I'm not going to go searching for where they
moved it to.
Cold and rainy and dark.
ml" -->
<H1 ALIGN="CENTER">Connections in the FIN_WAIT_2 state and Apache</H1>
<OL>
<LI><H2>What is the FIN_WAIT_2 state?</H2>
Starting with the Apache 1.2 betas, people are reporting many more
connections in the FIN_WAIT_2 state (as reported by
<code>netstat</code>) than they saw using older versions. When the
server closes a TCP connection, it sends a packet with the FIN bit
sent to the client, which then responds with a packet with the ACK bit
set. The client then sends a packet with the FIN bit set to the
server, which responds with an ACK and the connection is closed. The
state that the connection is in during the period between when the
server gets the ACK from the client and the server gets the FIN from
the client is known as FIN_WAIT_2. See the <A
HREF="ftp://ds.internic.net/rfc/rfc793.txt">TCP RFC</A> for the
technical details of the state transitions.<P>
The FIN_WAIT_2 state is somewhat unusual in that there is no timeout
defined in the standard for it. This means that on many operating
systems, a connection in the FIN_WAIT_2 state will stay around until
the system is rebooted. If the system does not have a timeout and
too many FIN_WAIT_2 connections build up, it can fill up the space
allocated for storing information about the connections and crash
the kernel. The connections in FIN_WAIT_2 do not tie up an httpd
process.<P>
<LI><H2>But why does it happen?</H2>
There are numerous reasons for it happening, some of them may not
yet be fully clear. What is known follows.<P>
<H3>Buggy clients and persistent connections</H3>
Several clients have a bug which pops up when dealing with
<A HREF="../keepalive.html">persistent connections</A> (aka keepalives).
When the connection is idle and the server closes the connection
(based on the <A HREF="../mod/core.html#keepalivetimeout">
KeepAliveTimeout</A>), the client is programmed so that the client does
not send back a FIN and ACK to the server. This means that the
connection stays in the FIN_WAIT_2 state until one of the following
happens:<P>
<UL>
<LI>The client opens a new connection to the same or a different
site, which causes it to fully close the older connection on
that socket.
<LI>The user exits the client, which on some (most?) clients
causes the OS to fully shutdown the connection.
<LI>The FIN_WAIT_2 times out, on servers that have a timeout
for this state.
</UL><P>
If you are lucky, this means that the buggy client will fully close the
connection and release the resources on your server. However, there
are some cases where the socket is never fully closed, such as a dialup
client disconnecting from their provider before closing the client.
In addition, a client might sit idle for days without making another
connection, and thus may hold its end of the socket open for days
even though it has no further use for it.
<STRONG>This is a bug in the browser or in its operating system's
TCP implementation.</STRONG> <P>
The clients on which this problem has been verified to exist:<P>
<UL>
<LI>Mozilla/3.01 (X11; I; FreeBSD 2.1.5-RELEASE i386)
<LI>Mozilla/2.02 (X11; I; FreeBSD 2.1.5-RELEASE i386)
<LI>Mozilla/3.01Gold (X11; I; SunOS 5.5 sun4m)
<LI>MSIE 3.01 on the Macintosh
<LI>MSIE 3.01 on Windows 95
</UL><P>
This does not appear to be a problem on:
<UL>
<LI>Mozilla/3.01 (Win95; I)
</UL>
<P>
It is expected that many other clients have the same problem. What a
client <STRONG>should do</STRONG> is periodically check its open
socket(s) to see if they have been closed by the server, and close their
side of the connection if the server has closed. This check need /export/home/cvs/CVSROOT/cvsedit
dgaudet [Sun, 25 Jan 1998 03:52:19 +0000 (03:52 +0000)]
- no need to use stat() since r->finfo is already what we need
- no need to play with atime/mtime crud, the web server doesn't preserve
that info normally anyhow
- deal with r->finfo.st_mode == 0 || !r->filename (i.e. not a disk file)
- don't reference mime_module.type_checker, this should be controlled by
the ordering within Configuration
- work properly with multiple vhosts
- doc update: even prior to this patch, the code was disabled if there
was no MimeMagicFile directive.
Jim Jagielski [Fri, 23 Jan 1998 00:36:34 +0000 (00:36 +0000)]
PR:
Obtained from:
Submitted by: Jim Jagielski
Reviewed by:
Best of both worlds... Let the world know if we have mmap and/or
shmget as well as controlling which to use for scoreboard. This
should be a complete patch, so if any docs were skipped, feel free
to update 'em
brian [Tue, 20 Jan 1998 18:32:55 +0000 (18:32 +0000)]
PR:
First stab at updating. Other windows developers need to make sure this
still makes sense! Notably, does the line break problem mean that the .tar.gz
distribution can't be compiled on NT?
Marc Slemko [Mon, 22 Dec 1997 21:25:10 +0000 (21:25 +0000)]
Misc cleanups:
- cleanup HTML, <e> --> <em>
- remove bogus security warning about LockFile
- add warning about possible denial of service attack with
LockFile in world writable directory
- remove security encouragement to use inetd; add warning that
inetd isn't well supported.
dgaudet [Sat, 20 Dec 1997 20:42:29 +0000 (20:42 +0000)]
Lars says:
some people are confused if they see the different naming conventions
for language negotiated documents (e.g. foo.html.en vs. foo.en.html)
and how a hyperlink to such a document should look like.
There's a PR about it (#1559) and I've seen several questions on
usenet about it.
I tried to clarify this issue in an extra paragraph in the
content-negotiation.html document (see attachment).
PR: 1559
Submitted by: Lars Eilebrecht
Reviewed by: Dean Gaudet
Martin Kraemer [Tue, 16 Dec 1997 22:28:39 +0000 (22:28 +0000)]
In several htdocs/manual pages, the TransferLog directive is still
attributed to the mod_log_common module (which is no longer
supported as of apache_1.2).
The patch replaces these references with references to
mod_log_config. Note that I still left the mod_log_common.html file
(and a back compatibility reference to it) in the docs distribution.
Change to URL to the mod_rewrite practical solutions, because
the software area now really gets removed, but at least the
solutions survive in my paperwork area where they make up a
new document.
dgaudet [Sun, 14 Dec 1997 00:49:19 +0000 (00:49 +0000)]
We talk about a "proper installation" occasionally... and assume folks know
how to set the perms on the serverroot. But I don't think we document it
anywhere. Nowhere that's easily found direct from the "how to install"
page. Document it better, link to it. Remove the install_1_1 docs.
Update a 1.2 reference to 1.3.
pcs [Mon, 1 Dec 1997 14:41:14 +0000 (14:41 +0000)]
Doc contains an example of an .asis redirection which is a clear candidate
for 301 permanent redirect, not 302 temporary redirect.
PR: 1485
Submitted by: Carl von Loesch <lynx@net.pages.de>, Lars Eilebrecht
Martin Kraemer [Wed, 12 Nov 1997 13:37:54 +0000 (13:37 +0000)]
Citing Lars:
Hi,
the attachment includes a reworked Apache manual with the
new virtual host documentation.
As Dean suggested I created a new directory named 'vhosts' and moved the
updated vhosts-in-depth etc. documents into the new directory, renamed
them and updated all other documents which refered to the old docs
(at least I tried to find all documents...).
Submitted by: Lars Eilebrecht <sfx@unix-ag.org>
Reviewed by: Martin Kraemer
Martin Kraemer [Tue, 11 Nov 1997 23:47:21 +0000 (23:47 +0000)]
Citing Lars:
Hi,
the attachment includes a reworked Apache manual with the
new virtual host documentation.
As Dean suggested I created a new directory named 'vhosts' and moved the
updated vhosts-in-depth etc. documents into the new directory, renamed
them and updated all other documents which refered to the old docs
(at least I tried to find all documents...).
Submitted by: Lars Eilebrecht <sfx@unix-ag.org>
Reviewed by: Martin Kraemer
Martin Kraemer [Tue, 11 Nov 1997 23:11:11 +0000 (23:11 +0000)]
Minor Documentation Update: broken and mis-typed links, and a reference to
a resource which is available only at http://www.apache.org/, not in the
user's tree.
Reviewed by:Dean Gaudet, Jim Jagielski, Ken Coar
Ken Coar [Tue, 4 Nov 1997 01:18:00 +0000 (01:18 +0000)]
Label the 1.3 documentation as being such in the header and footer.
Hopefully (!) this will ease some of the confusion about 1.3
features described therein that people think apply to 1.2..
Ken Coar [Wed, 15 Oct 1997 14:45:25 +0000 (14:45 +0000)]
Clean up some typos in the proxy documentation, and add a
dictionary for the directive attributes (status, override,
et cetera) - part of the directive-documentation-normalisation
effort, and something I've wanted for a long time. Updated the
mod_example page to use the links to the dictionary (as an example ;-).