eeded for reverse proxying.
It makes yet another public proxy.
Igor Sysoev
http://sysoev.ru
ough to lightweight
frontend so mod_deflate has directive to disable gzipping if there are
more Apache childs then specified - this allows to avoid intensive swapping
when number of Apache childs increases for some reason.
3. Browser bugs. But it seems that modern browsers have not serious
gzipping bugs.
Igor Sysoev
http://sysoev.ru
You can only estimate the count of Apache processes that is in linegring close
state using netstat utulity and looking for FIN_WAIT2 socket states.
Igor Sysoev
http://sysoev.ru/en/
it at http://sysoev.ru/en/
If you use DNS-based load balancing then you should install local caching
DNS server on the same computer to speed up DNS queries.
Igor Sysoev
http://sysoev.ru/en/
that are available
for vanilla Apache 1.3.X:
* mod_deflate
an Apache handler written in C by Igor Sysoev (Russia).
* mod_gzip
an Apache handler written in C. Original author: Kevin Kiley,
Remote Communications, Inc. (U.S.)
Both of these modules support HTTP/1.0 only
tream descreases a compression ratio so mod_deflate has
> > "DeflateIgnoreFlush" to ignore the ap_bflush() calls of an upstream
> module.
> > It can be used for example with Chili!Soft ASP that calls ap_bflush()
> > after any output even after an output of several bytes.
Igor Sysoev
http://sysoev.ru/en/
es.
> What are the variations, tradeoffs, and
> issues scaling it out to multiple physical servers? etc.
mod_accel supports the primitive load balancing and fault tolerance using DNS.
mod_proxy in Apache 1.3 also has code that allows to connect to the next
server returned by DNS but this code is broken - it uses the same socket to
connect to the next backend and this always fails.
Igor Sysoev
http://sysoev.ru/en/
On Fri, 25 Jul 2003, Igor Sysoev wrote:
> On Thu, 24 Jul 2003, Garrett Goebel wrote:
> > Using the loopback for the backend has the security advantage of completely
> > isolating the backend from any direct communication with external hosts. How
> > do I keep the backe
_accel can invalidate cache on per-URL basis.
mod_accel has two drawbacks only - too much memory per connection
(inherited Apache drawback) and Russian only documentation.
Igor Sysoev
know where to find divisor).
And some recomendation - I'm using Apache::SizeLimit as
PerlCleanupHandler - so Apache would exit after request is completed.
mod_perl usually grows at response phase so exiting in fixup is not
very usefull.
I'm using mod_class for mod_perl size hard control during reponse phase.
Igor Sysoev
unaway
> processes from eating up all your RAM. Apache::Resource will kill your
> process even if it's in the middle of a response, so you don't want to use
> it for normal size control.
mod_class and mod_setclass make the same on BSD.
Igor Sysoev
> file is created on the filesystem). You can limit it within your code,
> though.
About one third requests going through proxies.
And about 70% of proxies are Squids.
And nearly all Squids has default upload limit of 1M.
Igor Sysoev
ing Stas a patch for the guide with information on this? It
> might be useful to other BSD'ers.
My English is too poor for it.
Igor Sysoev
k that frontend mod_perl can handle 2200 concurrent
connections. The plain Apache with mod_proxy/mod_accel can handle them
with about 1.5G memory.
Igor Sysoev
pe
but usually they have text/plain. If you site doesn't use such flash
movies - you can safely compress text/plain:
DeflateTypes text/plain
Igor Sysoev
roxied Off means that anything with a 'Via' header is not
> proxied--Igor says that some proxies are broken so this is best to be safe.
is not compressed
> And MSIE 4 apparently is a bit broken too. By default only text/html is
> compressed. DeflateCompLevel 1 provides adequate compression for text.
Igor Sysoev
IE6 is not
> offering any actual privacy level protection and is just discriminated
> against people that don't have P3P headers.
I found that IE6 require P3P header with medium and higher security
settings but CP content doesn't matter - it need simply P3P: CP='anything'.
Igor Sysoev
X-Host: headers into the incoming Host: header and then
> updates the vhost structure so virtualhosting via mod_proxy_add_forward
> works. The module can be found at: http://stderr.net/apache/rpaf/
There is one drawback in setting r->connection->remote_addr.
If you want to disable dir
On Thu, 20 Dec 2001, Igor Sysoev wrote:
> On Thu, 20 Dec 2001, Thomas Eibner wrote:
>
> > On Thu, Dec 20, 2001 at 07:04:50AM -0500, Philip Mak wrote:
> > > > AccelSet* adds X-* headers to the request to the backend. This is useful to
> > > > know wh
On Thu, 20 Dec 2001, Stas Bekman wrote:
> Jeremy Howard wrote:
>
> > Igor Sysoev mentioned recently on this list that he has written a module
> > called 'mod_accel' that provides a caching HTTP accelerator, as well as a
> > mod_gzip replacement called 'mo
HTML::Mason with Apache server 1.3.22 under RedHat Linux 6.2
> When I am doing the same on the Win32 (local devel machine, no problem
> occurs).
I think you are using Russian Apache.
http://apache.lexa.ru/configure.html#charsetrecodemultipartforms
Igor Sysoev
mod_accel
but I think it's clearer then ProxyPassReverse syntax.
Igor Sysoev
range) if this request can be gzipped.
If you want to disable gzipping for some browser you need to set
enviroment variable:
BrowserMatch "Gecko" no_gzip
Second, don't use "Mozilla" string - this string is in all Netscape 1-6,
and MSIE 1-6. Use "Gecko" instead - all Mozilla-derived browsers has
this string.
And third - can you send me all bug reports with Mozilla ?
Igor Sysoev
On Sat, 29 Dec 2001, Jeremy Howard wrote:
> Philip Mak wrote:
> > On Fri, 28 Dec 2001, Igor Sysoev wrote:
> > > I think it should have reverse syntax:
> > >
> > > AccelReverse http://127.0.0.1:8001/ /
> > >
> > > Or not ? Of course it com
only.
ftp://ftp.lexa.ru/pub/apache-rus/contrib/mod_deflate-1.0.10.tar.gz
Changes with mod_deflate 1.0.10 28 Dec 2001
*) Feature: --with-zlib and --with-patch directives were added
in configure.
Igor Sysoev
On Sat, 29 Dec 2001, John Siracusa wrote:
> On 12/29/01 8:23 AM, Igor Sysoev wrote:
> > ftp://ftp.lexa.ru/pub/apache-rus/contrib/mod_accel-1.0.10.tar.gz
>
> Is there any timeline on a release of mod_accel with English documentation?
I hope it will be ready in January.
At least
or then it means that mod_accel needs
to skip 'accel-handler' and found another one instead - mod_accel needs
to run subrequest.
I think it complicates processing and is not needed in many cases.
Besides in your example case you can use such regexps:
AccelNoPass ~*\.gif$ ~*^/~user1/.*\.jpg$
Igor Sysoev
s anyone know why Apache 2.0 running as a rewrite reverse proxy would
> die only when it talks to my modperl servers? This is destroying my
> development time and about to kill me on some significant deadlines :(
I'm not sure that mod_proxy in Apache 2 is stable.
Igor Sysoev
ll make request to xml server with HTTP/1.0 then
he will receive response with error code ?
Can not it work in HTTP/1.0 at all ?
> So for 3 we need chunked or the Content-Length, either way, we need 1.1.
> compatibility.
>
> John-
>
> On Thursday, January 3, 2002, at 12:33 PM,
end and
xml backend or between client and frontend ?
> On Thursday, January 3, 2002, at 01:44 PM, Igor Sysoev wrote:
>
> > On Thu, 3 Jan 2002, John Armstrong wrote:
> >
> >> Because the front end reverse proxy needs to connect to one of 3
> >> different servers.
ersistent connection between frontend and xml backend
will it slow down your things significantly ?
Igor Sysoev
> This works fine with 2.0 when 2.0 is not segfaulting :)
>
> Think I'll just get out of apache land and let the F5 handle it for now,
> we won't hit the 100 rule
e /usr/local/apache/cache/tmpFtYxlf
My fault. I've just fixed it and in next release mod_accel would return
500 in this case.
Igor Sysoev
re is workaround to use UPLOAD_HOOK on backend - you can use mod_proxy
with mod_accel:
ProxyPass /upload/ http://backend/upload/
ProxyPassReverse /upload/ http://backend/upload/
AccelPass / http://backend/
AccelNoPass /upload/
Igor Sysoev
Danil Pismenny had begun to translate into English mod_accel documentation:
http://dapi.chaz.ru/articles/mod_accel.xml?lang=en
Please send him ([EMAIL PROTECTED]) corrections.
If you don't understand some translation at all ask me.
Igor Sysoev
d not help.
There are two ways to omit 'Server', 'Date' and 'Content-Type' headers:
1. to use ap_rwrite()/BUFF API to send response as mod_proxy does;
2. to patch Apache sources. This helps to all Apache modules that use
ap_send_http_header()/'return HTTP_MOVED_*' API.
Igor Sysoev
pache does for you, like sending
> http://yoursite to http://yoursite/. You can handle those yourself
> instead if you want to.
Apache core always sets 'Server' and 'Date' headers.
You can not simply overwrite them - you need patch Apache or use
low-level Apache API.
Igor Sysoev
type() eq 'text/html');
> >
> > but any images that may be inline never make it to the browser (also, if I
> > explicitly call the image in question it never makes it to the browser).
> >
> > Apache gives a 200 status code for these requests in the access log but
> > Netscape 6.2 just sits there and IE returns a 'Cannot find server...' error.
Igor Sysoev
/mod_accel doesn't have its own
> > mailing list and there's a lot of people on this list who use it...
If you have mod_accel/mod_deflate problem feel free contact me directly.
Igor Sysoev
On Thu, 17 Jan 2002, Philip Mak wrote:
> The following webpage on a mod_deflate enabled server is not working
> correctly in some browsers:
>
> http://www.aaanime.net/pmak/sylphiel/
>
> If I "telnet www.aaanime.net 80" and send the following commands:
>
> GET /pmak/sylphiel/ HTTP/1.1
> Host: w
as well as
lingerd, mod_proxy, Squid and other reverse proxing or accelerating
technology.
> If that bothers anyone then I'm happy to set up a mailing list elsewhere, of
> course.
I think it would be nice.
Igor Sysoev
unds with buggy browsers.
mod_gzip has not.
Drawbacks:
It patches Apache and can not be loaded as DSO.
It compresses static files every time. mod_gzip can use cached
compressed file.
It has Russian documentation only but you can ask me if you
have any problems.
Igor Sysoev
ery
> string), but if I've overlooked anything, I'd be very happy to be
> corrected.
You set A7_FRAMEWORK in vanilla Apache so mod_perl Apache does
not receive it.
You can try my mod_accel module. It send original URL to backend in
X-URL header. Also you do not need to use mod_rewrite if you want
to exclude some URL from proxing.
Igor Sysoev
On Tue, 19 Feb 2002, Eric Cholet wrote:
> --On vendredi 15 février 2002 17:19 +0300 Igor Sysoev <[EMAIL PROTECTED]>
> wrote:
>
> > You can try
> > ftp://ftp.lexa.ru/pub/apache-rus/contrib/mod_deflate-1.0.11.tar.gz
> >
> > It compresses content on the
roblems with chunked transfer-encoding
because it compress content before Apache start to make chunks.
mod_deflate remove Content-Length header so compressed content
would be sent to client chunked (HTTP/1.1) or not (HTTP/1.0).
Igor Sysoev
hey
>arrive.
Sorry,
if mod_deflate will receive flush request it will flush deflate encoding
and will write compressed content to Apache buffer. But it does not
flush Apache. Anyway the max block is 8K, Apache buffer is 4K and OS
usually should send data if in OS's buffer there is more then 2K.
So it's probably MSIE feature as well as NC4 can not render tables
until it receive ''.
Igor Sysoev
for.
I you like to test I can make patch for mod_deflate to flush Apache.
But if major browsers can not handle compressed content on the fly
it's not valueable.
Igor Sysoev
ve just checked sources and found that if mod_deflate
received flush then it flushes both zlib and Apache.
You can try to set autoflush in perl module with $|=1;
or call $r->rflush; when you like to flush output.
Igor Sysoev
>a more "automatic" kind of "streaming" deflating (like described above) would be nice
>to have.
You can set $|=1 as Eagle book says:
This method [r->flush()] is also called automatically after each
print() if the Perl global variable $| is nonzero.
Igor Sysoev
across internal redirections.
You can try r->err_header_out() but clean up it in second handler
before content output.
Igor Sysoev
andler - images must be on the same host:
SetHandler default-handler
Igor Sysoev
proxy_url=http://(.+)$http://$1 [L,P]
Note that 'proxy?url=' is changed to 'proxy_url='.
Igor Sysoev
On Fri, 15 Mar 2002, Bill Moseley wrote:
> At 05:11 PM 3/15/2002 +0300, Igor Sysoev wrote:
> >On Fri, 15 Mar 2002, Marius Kjeldahl wrote:
> >
> >> I guess these all suffer from the fact that the parameters have to be
> >> specified in httpd.conf, which mak
can increase MaxClients until your swap is free.
On 1G you can run about 1000-2000 plain Apaches.
But if you plan to use mod_proxy to proxy backend I think
you should use mod_accel.
Igor Sysoev
reponse send to client;
5. if backend reponses with any other codes then reponse send to client
but cached reponse is not deleted.
But this feature is usefull only if backend authorization and
304 (Not Modified) generating is cheaper then full reponse (200) generating.
Igor Sysoev
igor @ sysoev.ru
l"
> GATEWAY_INTERFACE="CGI-Perl/1.1"
> etc.
Your backend send chunked response - I think you use 1.3.24 mod_proxy
and it probably send HTTP/1.1 request.
You should force mod_perl to HTTP/1.0
Another way is to use mod_accel. It always uses HTTP/1.0 with backend
and more advanced then mod_proxy.
Igor Sysoev
http://sysoev.ru
codes. The only
> fix I found is to use a fully qualified host redirect for the
> ErrorDocument.. but then I lose fancy stuff like previous request analysis.
> Any ideas?
You error response size should be more then 512 bytes:
http://support.microsoft.com/support/kb/articles/Q294/8/07.ASP
Igor Sysoev
http://sysoev.ru
ding: chunked" and "Content-Encoding: gzip".
NN 4.78 does not understand chunked response but can show it (with
strange numbers of course) if there were no gzip encoding.
Igor Sysoev
http://sysoev.ru
>$r->header_out('Content-Length', length(${ $out->{document} }));
I'm not sure that sending Content-Length with gzipped content is good
idea. MSIE understands chunked transfer and can keep alive connection.
For NN4 we should close connection.
Igor Sysoev
http://sysoev.ru
Netscape does also not realise
> that the connection is already closed and the stars are moving, indicating
> further loading. But when the content-length is correctly set, it works.
>
> I guess that NN4 gets confused with the end of the page and when he should
> start with running of the JavaScript.
I usually disable javascript in my NN4 (it's so buggy) so I did not see
this problem.
Igor Sysoev
http://sysoev.ru
to
> find some stable place, like mod_perl, or apache project ;-).
I can host it on my site. I already have list of browser gzip/deflate
capabilites and bugs in mod_deflate Russian documentation.
I need simply translate it to English.
Igor Sysoev
http://sysoev.ru
On Wed, 5 Jun 2002, Slava Bizyayev wrote:
> From: "Igor Sysoev" <[EMAIL PROTECTED]>
>
> > mod_deflate had been used for one year on several popular Russian sites
> > without problems so I think the main browsers have good gzip support.
>
> I'm
nge or deleting of incoming headers is good idea.
How can I log a real Accept-Encoding value ?
Igor Sysoev
http://sysoev.ru
che 1.3:
http://sysoev.ru/mod_deflate/
It'd been tested for one year on loaded sites.
Second is expiremental module for Apache2 by Apache tream.
Next part will be about browsers bugs.
Igor Sysoev
http://sysoev.ru
not handle gzipped data received via loadVariables()
and XML.Load() (5.x).
You had mentioned Galeon and SkipStone but had not mentioned
Mozilla 0.9.1 and Netscape6.1b1 that have bug. Yes, this browsers
already old and rare but Galeon and Skipstone now include own version string.
It's much simply to translate from Russian my information than to try
to interpret it.
Igor Sysoev
http://sysoev.ru
On Fri, 14 Jun 2002, Slava Bizyayev wrote:
> Does it make sense? For me it means that every fact which is coming from
> Igor Sysoev should be double-checked independently prior to practical usage.
OK. It's your right.
> I guess some significant changes in the next version of the
> 4. You should not unset "Accept-Encoding". Better way is to set
> > > >$r->note('disable_gzip').
> > >
> > > Sometimes it seems like Igor does not really understand what he is
> speaking
> > > about. No comments.
> >
> &g
On Fri, 14 Jun 2002, Slava Bizyayev wrote:
> From: "Igor Sysoev" <[EMAIL PROTECTED]>
>
> > Can you show me URL with "Vary" and "Expires" that MSIE would cache.
>
> You have this combination when you access my preview with your MSIE by
&g
s.
Relax and do anything in fixup handler and tutorial - I would try
not disturb you in any way and hope that is the last my email
on this subject.
Igor Sysoev
http://sysoev.ru
s, it was a fun !
(I bag pardon to all subscribers, I can not resist, it's last personal email)
Igor Sysoev
http://sysoev.ru
On Thu, 20 Jun 2002, Lupe Christoph wrote:
> On Thursday, 2002-06-20 at 18:22:10 +0400, Igor Sysoev wrote:
> > On Thu, 20 Jun 2002, Lupe Christoph wrote:
> >
> > > and the mod_perl module seems to prevent the crash:
> > >
> > > > telnet proxy
On Fri, 21 Jun 2002, Richard [utf-8] Čepas wrote:
> On Wed Jun 19 17:54:02 2002 +0400 Igor Sysoev wrote:
>
> >On 19 Jun 2002, Ilya Martynov wrote:
> >
> >> If you still do not know about it:
> >>
> >> http://httpd.apache.org/info/security_
r error and keepalive is enabled
then Apache calls ap_discard_request_body() and start to read chunked body.
Second way is to send wrong 'Expect' header - Apache again
calls ap_discard_request_body().
Igor Sysoev
http://sysoev.ru
> the last byte...
You can try mod_accel. Incomplete English documentation is available here:
http://dapi.chaz.ru/articles/mod_accel.xml
Also feel free to ask me directly.
Igor Sysoev
http://sysoev.ru
browser from /abc to /abc/
as mod_dir does for any directory without trailing slash.
BTW, mod_accel send such redirection automatically, i.e if you have
AccelPass /one/http://backend/two/
then if browser ask /one it will get redirect to /one/.
Igor Sysoev
http://sysoev.ru
tion then response to request
with Authorization header will never be cached by mod_proxy or mod_accel.
However mod_accel can ignore Authorization header by per location/files basis.
Igor Sysoev
http://sysoev.ru
between mod_perl and frontend.
You can send file from mod_perl and cache it on frontend.
If you use mod_accel then it buffers whole reponse from backend
in temp file and releases mod_perl as soon as possible.
You even do not need to cache it.
Igor Sysoev
http://sysoev.ru
Macromedia FlashPlayer 4.x-5.x doesn't understand gzipped content
recieved by browser via getVariables() function.
Igor Sysoev
*.com.
Why do you use "?&MYPDFFILE.pdf" ? I think that
http://server/perl/pdfgen.pl/MYPDFFILE.pdf
would be enough for MSIE.
Igor Sysoev
lPass / http://127.0.0.1:8081/
AccelNoPass ~*\.jpg$ ~*\.gif$
It's Unix only. It can probably run on Win32 under CygWin -
but I didn't try it.
Igor Sysoev
> How about:
>
> RewriteRule ^(.*)/$ http://127.0.0.1:8001$1/index.asp [p]
In any case you need to double directory hierachy to allow mod_dir
handle redirects from "/dir" to "/dir/". Even without touching index.asp.
Igor Sysoev
s -
it allows to make a real backend buffering,
to use busy locks and to limit connections to backend.
Igor Sysoev
81 matches
Mail list logo