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 ;-).
Marc Slemko [Wed, 24 Sep 1997 23:46:40 +0000 (23:46 +0000)]
Make the documentation on the Limit directive shout a little louder
about not using it unless you really do only want to limit specific
methods.
PR:
Obtained from:
Submitted by:
Reviewed by:
|From Martin.Kraemer@mch.sni.de Mon Sep 15 21:04:46 1997
|Date: Fri, 5 Sep 1997 14:22:32 +0200 (MET DST)
|From: Martin Kraemer <Martin.Kraemer@mch.sni.de>
|Reply-To: new-httpd@apache.org
|To: Apache Mailing List <new-httpd@apache.org>
|Subject: [DOC] mod_auth_anon.html corrections
|
|The mod_auth_anon.html documentation describes the default of
|the Anonymous_LogEmail and Anonymous_MustGiveEmail being "off", but in
|the code, the default seems to be "on".
|
|The "Example" section could be improved because when used as-is, the
|server returns a [500] server error (configuration error: couldn't check
|user. No user file?). I added a comment to clarify things.
Submitted by: Martin Kraemer
Reviewed by: Dean Gaudet
Ken Coar [Fri, 12 Sep 1997 14:50:47 +0000 (14:50 +0000)]
Changes to mod_log_config to allow naming of format strings.
Format nicknames are defined with "LogFormat fmt nickname", and can
be used with "LogFormat nickname" and "CustomLog logtarget nickname".
Add link to mod_setenvif docs. Add placeholder for mod_unique_id. Put
proxy & rewrite into alphabetic order. Note the modules which are not longer
part of Apache 1.3 (mod_browser, mod_auth_msql).
Marc Slemko [Sun, 7 Sep 1997 03:10:58 +0000 (03:10 +0000)]
Update the fin_wait_2 page to reflect the current understanding
of the issues; remove the suggestion that Apache is buggy, since
no bugs have been found in that code. It now appears most likely
that it is just the result of a bad interaction. The real solution,
as always, is still a timeout for FIN_WAIT_2.
pcs [Sun, 24 Aug 1997 14:16:04 +0000 (14:16 +0000)]
Add document explaining how Directory, Location and Files sections
are merged. Based on Dean's explanation from PR#586. Link to this
doc from the directive descriptions in core.html.