Re: svn commit: r1103315 - /httpd/httpd/trunk/modules/filters/mod_deflate.c
On 05/27/2011 06:11 AM, Justin Erenkrantz wrote: > On Tue, May 24, 2011 at 8:53 PM, Ruediger Pluem wrote: >> Thanks. IMHO this is a design flaw in the DAV provider API in conjunction >> with the current filter API: >> >> dav_error * (*deliver)(const dav_resource *resource, >> ap_filter_t *output); >> >> deliver is usually called with r->output_filters as a second parameter and >> thus makes a copy of the contents of r->output_filters and hence does not >> notice if r->output_filters changes during the process of pushing content >> thru >> the filter chain by multiple calls to ap_pass_brigade. >> My idea would be to change the DAV API to either >> >> dav_error * (*deliver)(const dav_resource *resource, >> request_rec *r); >> >> and using r->output_filters in the implementations of the deliver method in >> the dav_providers or >> >> dav_error * (*deliver)(const dav_resource *resource, >> ap_filter_t **output); >> >> and using *output in the implementations of the deliver method in >> the dav_providers and calling deliver with &(r->output_filters) as second >> parameter. >> >> BTW: Same thing applies to deliver_report and merge. > > Sure - changing APIs like this is one way to solve it; but that's not > a legitimate option for 2.2.x. When this was discussed on That's the beauty of your solution: It can be backported to 2.2.x. But it only solves the issue for mod_deflate and not for other filters. But in the light of an upcoming 2.4.x which makes these kind of API changes impossible again for a long time I wanted to start a discussion about how to fix this in a general way for all filters. > dev@subversion, I know Greg was reluctant to see the mod_dav APIs > revved after so long. =) -- justin I am open for other proposals, e.g. to fix the filter API, but I haven't found an approach that I like yet. Regards Rüdiger
Re: svn commit: r1103315 - /httpd/httpd/trunk/modules/filters/mod_deflate.c
On Tue, May 24, 2011 at 8:53 PM, Ruediger Pluem wrote: > On 05/24/2011 07:41 PM, Justin Erenkrantz wrote: >> On Mon, May 23, 2011 at 8:08 PM, Ruediger Pluem wrote: >>> Indeed this sounds like a general problem, but >>> ap_remove_output_filter does adjust r->output_filters if f->r is set and the >>> filter is the first one in the chain. >>> Which responses exactly suffer from this behaviour? >> >> Use "SetOutputFilter DEFLATE" and issue a GET request for a file w/o >> Accept-Encoding headers to Subversion (via mod_dav). You'll see that >> mod_deflate tries to remove itself, but mod_dav keeps invoking it. >> It's at the point where most companies who support Subversion refuse >> to support mod_deflate/gzip due to this issue. > > Thanks. IMHO this is a design flaw in the DAV provider API in conjunction > with the current filter API: > > dav_error * (*deliver)(const dav_resource *resource, > ap_filter_t *output); > > deliver is usually called with r->output_filters as a second parameter and > thus makes a copy of the contents of r->output_filters and hence does not > notice if r->output_filters changes during the process of pushing content thru > the filter chain by multiple calls to ap_pass_brigade. > My idea would be to change the DAV API to either > > dav_error * (*deliver)(const dav_resource *resource, > request_rec *r); > > and using r->output_filters in the implementations of the deliver method in > the dav_providers or > > dav_error * (*deliver)(const dav_resource *resource, > ap_filter_t **output); > > and using *output in the implementations of the deliver method in > the dav_providers and calling deliver with &(r->output_filters) as second > parameter. > > BTW: Same thing applies to deliver_report and merge. Sure - changing APIs like this is one way to solve it; but that's not a legitimate option for 2.2.x. When this was discussed on dev@subversion, I know Greg was reluctant to see the mod_dav APIs revved after so long. =) -- justin
Access tuning module "mod_vlimit"
Hi all, This is MATSUMOTO Ryosuke. I am apache module developer in Japan. My best access tuning module is "mod_vlimit". mod_vlimit allows “Apache HTTP Server” administrators to limit the number of simultaneous connections(ex, perl php) from all clients to the file or directory. Mod_vlimit do NOT need to use mod_status. The distribution page is http://modules.apache.org/search.php?id=2570. It would be greatly appreciated that it gives the impression to me. Best Regards,
Get Parameter from httpd.conf
Hi, I am currently implementing a module and for each HTTP GET request, I need to check its validity from another server. I want to put these specific IP/Port parameters into httpd.conf. Thus, each time a receive a GET request: 1/ I get specific IP/Port server values from httpd.conf. 2/ My module connects to distant server and gets all information. 3/ Then, my module is able to answer to its request. Can someone explain me how to do this ? What should I write in the httpd.conf and how I can get these values from my module ? Thank you, Nicolas.
Access tuning module "mod_vlimit"
Hi all, This is MATSUMOTO Ryosuke. I am apache module developer in Japan. My best access tuning module is "mod_vlimit". mod_vlimit allows “Apache HTTP Server” administrators to limit the number of simultaneous connections(ex, perl php) from all clients to the file or directory. Mod_vlimit do NOT need to use mod_status. The distribution page is http://modules.apache.org/search.php?id=2570. It would be greatly appreciated that it gives the impression to me. Best Regards
RE: 2.2.19 (and probably earlier) won't let you make non-ssl vhosts on 443?
> -Original Message- > From: Rainer Jung [mailto:rainer.j...@kippdata.de] > Sent: Donnerstag, 26. Mai 2011 11:43 > To: dev@httpd.apache.org > Cc: us...@httpd.apache.org > Subject: Re: 2.2.19 (and probably earlier) won't let you make > non-ssl vhosts on 443? > > On 26.05.2011 11:10, Issac Goldstand wrote: > > I just upgraded a machine from 2.2.8 to 2.2.19 and suddenly Apache > > wouldn't let me run non-SSL vhosts on port 443. A snippet > like below: > > > > > > DocumentRoot /home/foo/httpdocs > > ServerName foo > > > > allow from all > > Options +Indexes > > > > > > > > Suddenly caused the following fatal startup error to be logged: > > [error] Server should be SSL-aware but has no certificate configured > > [Hint: SSLCertificateFile] ((null):0) > > > > Was this an intentional decision made some while ago that I > just didn't > > know about or is it a bug? > > > > (I'd personally only expect to see that with an explicit > SSLEngine On > > and no certificate/key files configured) > > Could it be this entry from the 2.2.12 changelog: > > *) Set Listen protocol to "https" if port is set to 443 and > no proto is > specified (as documented but not implemented). PR 46066 > [Dan Poirier ] > Yes thats it: http://svn.apache.org/viewvc?view=revision&revision=727769 You should use Listen a.b.c.d:443 http instead of Listen a.b.c.d:443 to fix this. Regards Rüdiger
Re: 2.2.19 (and probably earlier) won't let you make non-ssl vhosts on 443?
On 26.05.2011 11:10, Issac Goldstand wrote: > I just upgraded a machine from 2.2.8 to 2.2.19 and suddenly Apache > wouldn't let me run non-SSL vhosts on port 443. A snippet like below: > > > DocumentRoot /home/foo/httpdocs > ServerName foo > > allow from all > Options +Indexes > > > > Suddenly caused the following fatal startup error to be logged: > [error] Server should be SSL-aware but has no certificate configured > [Hint: SSLCertificateFile] ((null):0) > > Was this an intentional decision made some while ago that I just didn't > know about or is it a bug? > > (I'd personally only expect to see that with an explicit SSLEngine On > and no certificate/key files configured) Could it be this entry from the 2.2.12 changelog: *) Set Listen protocol to "https" if port is set to 443 and no proto is specified (as documented but not implemented). PR 46066 [Dan Poirier ] Regards, Rainer
An rfc2397 filter for httpd (data URI scheme)
Hi all, Would anyone object to adding a simple filter able to encode rfc2397 to httpd? http://tools.ietf.org/html/rfc2397 http://en.wikipedia.org/wiki/Data_URI_scheme Regards, Graham --
Re: graceful restart detection in prefork mode
Configuration is: Timeout 300 KeepAlive Off KeepAliveTimeout 5 MaxKeepAliveRequests 100 StartServers 5 MaxClients 150 MinSpareServers 2 MaxSpareServers 8 MaxRequestsPerChild 0 #MinSpareThreads 25 #MaxSpareThreads 150 #ThreadsPerChild 25 2011/5/26 Petr Hracek : > No KeepAliveTimeout is 5 > > 2011/5/26 MATSUMOTO Ryosuke : >> How do you configure "KeepAliveTimeout"? >> KeepAliveTimeout value is 15(sec) as default. >> The number of seconds Apache will wait for a subsequent request before >> closing the connection. >> >> 2011/5/26 MATSUMOTO Ryosuke >>> >>> GracefulShutdownTimeout valiue is zero as defualt. >>> Setting this value to zero means that the server will wait indefinitely >>> until all remaining requests have been fully served. >>> >>> 2011/5/26 Petr Hracek It is not configured yet. I suggest that GracefulShutdownTimeout 0 as default is OK, right? 2011/5/26 MATSUMOTO Ryosuke : > Hi, > How do you configure "GracefulShutdownTimeout"? > 2011/5/26 Petr Hracek >> >> Dear developers, >> >> My situation is following: >> In my Apache2 running in prefork mode I have following situation. >> >> Whole pages (except loging page) are run over https (port 443) and >> authentication is done over my own module. >> When the most users are looking on the pages (https) then I would like >> to reload configuration of my apache over command >> apache2ctl -k graceful >> >> I suggest that new users will see new configuration and old users will >> have their session till they will not logout. >> >> But unfortunatelly all sessions are closed and as new as old users >> have to login again for other work. >> >> Is there any solution for that like detection for gracefull restart? >> Do you now any idea how to do that? >> >> My apache2 which is delivered by SUSE is pretty old (I know). >> linux:~ # httpd2 -l >> Compiled in modules: >> core.c >> prefork.c >> http_core.c >> mod_so.c >> linux:~ # httpd2 -V >> Server version: Apache/2.2.3 >> Server built: Apr 14 2010 11:41:47 >> Server's Module Magic Number: 20051115:3 >> Server loaded: APR 1.2.2, APR-Util 1.2.2 >> Compiled using: APR 1.2.2, APR-Util 1.2.2 >> Architecture: 32-bit >> Server MPM: Prefork >> threaded: no >> forked: yes (variable process count) >> Server compiled with >> -D APACHE_MPM_DIR="server/mpm/prefork" >> -D APR_HAS_SENDFILE >> -D APR_HAS_MMAP >> -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) >> -D APR_USE_SYSVSEM_SERIALIZE >> -D APR_USE_PTHREAD_SERIALIZE >> -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT >> -D APR_HAS_OTHER_CHILD >> -D AP_HAVE_RELIABLE_PIPED_LOGS >> -D DYNAMIC_MODULE_LIMIT=128 >> -D HTTPD_ROOT="/srv/www" >> -D SUEXEC_BIN="/usr/sbin/suexec2" >> -D DEFAULT_PIDLOG="/var/run/httpd2.pid" >> -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" >> -D DEFAULT_LOCKFILE="/var/run/accept.lock" >> -D DEFAULT_ERRORLOG="/var/log/apache2/error_log" >> -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" >> -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf" >> linux:~ # >> >> Thank you in advance. >> -- >> Best Regards / S pozdravem >> Petr Hracek > > -- Best Regards / S pozdravem Petr Hracek >>> >> >> > > > > -- > Best Regards / S pozdravem > Petr Hracek > -- Best Regards / S pozdravem Petr Hracek
Re: graceful restart detection in prefork mode
No KeepAliveTimeout is 5 2011/5/26 MATSUMOTO Ryosuke : > How do you configure "KeepAliveTimeout"? > KeepAliveTimeout value is 15(sec) as default. > The number of seconds Apache will wait for a subsequent request before > closing the connection. > > 2011/5/26 MATSUMOTO Ryosuke >> >> GracefulShutdownTimeout valiue is zero as defualt. >> Setting this value to zero means that the server will wait indefinitely >> until all remaining requests have been fully served. >> >> 2011/5/26 Petr Hracek >>> >>> It is not configured yet. >>> I suggest that GracefulShutdownTimeout 0 as default is OK, right? >>> >>> 2011/5/26 MATSUMOTO Ryosuke : >>> > Hi, >>> > How do you configure "GracefulShutdownTimeout"? >>> > 2011/5/26 Petr Hracek >>> >> >>> >> Dear developers, >>> >> >>> >> My situation is following: >>> >> In my Apache2 running in prefork mode I have following situation. >>> >> >>> >> Whole pages (except loging page) are run over https (port 443) and >>> >> authentication is done over my own module. >>> >> When the most users are looking on the pages (https) then I would like >>> >> to reload configuration of my apache over command >>> >> apache2ctl -k graceful >>> >> >>> >> I suggest that new users will see new configuration and old users will >>> >> have their session till they will not logout. >>> >> >>> >> But unfortunatelly all sessions are closed and as new as old users >>> >> have to login again for other work. >>> >> >>> >> Is there any solution for that like detection for gracefull restart? >>> >> Do you now any idea how to do that? >>> >> >>> >> My apache2 which is delivered by SUSE is pretty old (I know). >>> >> linux:~ # httpd2 -l >>> >> Compiled in modules: >>> >> core.c >>> >> prefork.c >>> >> http_core.c >>> >> mod_so.c >>> >> linux:~ # httpd2 -V >>> >> Server version: Apache/2.2.3 >>> >> Server built: Apr 14 2010 11:41:47 >>> >> Server's Module Magic Number: 20051115:3 >>> >> Server loaded: APR 1.2.2, APR-Util 1.2.2 >>> >> Compiled using: APR 1.2.2, APR-Util 1.2.2 >>> >> Architecture: 32-bit >>> >> Server MPM: Prefork >>> >> threaded: no >>> >> forked: yes (variable process count) >>> >> Server compiled with >>> >> -D APACHE_MPM_DIR="server/mpm/prefork" >>> >> -D APR_HAS_SENDFILE >>> >> -D APR_HAS_MMAP >>> >> -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) >>> >> -D APR_USE_SYSVSEM_SERIALIZE >>> >> -D APR_USE_PTHREAD_SERIALIZE >>> >> -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT >>> >> -D APR_HAS_OTHER_CHILD >>> >> -D AP_HAVE_RELIABLE_PIPED_LOGS >>> >> -D DYNAMIC_MODULE_LIMIT=128 >>> >> -D HTTPD_ROOT="/srv/www" >>> >> -D SUEXEC_BIN="/usr/sbin/suexec2" >>> >> -D DEFAULT_PIDLOG="/var/run/httpd2.pid" >>> >> -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" >>> >> -D DEFAULT_LOCKFILE="/var/run/accept.lock" >>> >> -D DEFAULT_ERRORLOG="/var/log/apache2/error_log" >>> >> -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" >>> >> -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf" >>> >> linux:~ # >>> >> >>> >> Thank you in advance. >>> >> -- >>> >> Best Regards / S pozdravem >>> >> Petr Hracek >>> > >>> > >>> >>> >>> >>> -- >>> Best Regards / S pozdravem >>> Petr Hracek >> > > -- Best Regards / S pozdravem Petr Hracek
Re: 2.2.19 (and probably earlier) won't let you make non-ssl vhosts on 443?
On 26/05/2011 12:16, Reindl Harald wrote: > > Am 26.05.2011 11:10, schrieb Issac Goldstand: >> I just upgraded a machine from 2.2.8 to 2.2.19 and suddenly Apache >> wouldn't let me run non-SSL vhosts on port 443. A snippet like below: >> >> >> DocumentRoot /home/foo/httpdocs >> ServerName foo >> >> allow from all >> Options +Indexes >> >> >> >> Suddenly caused the following fatal startup error to be logged: >> [error] Server should be SSL-aware but has no certificate configured >> [Hint: SSLCertificateFile] ((null):0) >> >> Was this an intentional decision made some while ago that I just didn't >> know about or is it a bug? >> >> (I'd personally only expect to see that with an explicit SSLEngine On >> and no certificate/key files configured) > 443 == https > > why anybody should use it for http? > there are thousands of other ports (81, 82, 83, 8080...) > Maybe they have some sort of funky config where something in front of Apache is doing the SSL, and for some odd reason it's important for them for the vhost to run on 443 regardless. People have funny ideas sometimes. I'm not saying that it's intelligent thinging, but regardless the point is that it breaks compatibility of config files inside the same minor version of Apache which is... not so good. Issac
Re: 2.2.19 (and probably earlier) won't let you make non-ssl vhosts on 443?
Am 26.05.2011 11:10, schrieb Issac Goldstand: > I just upgraded a machine from 2.2.8 to 2.2.19 and suddenly Apache > wouldn't let me run non-SSL vhosts on port 443. A snippet like below: > > > DocumentRoot /home/foo/httpdocs > ServerName foo > > allow from all > Options +Indexes > > > > Suddenly caused the following fatal startup error to be logged: > [error] Server should be SSL-aware but has no certificate configured > [Hint: SSLCertificateFile] ((null):0) > > Was this an intentional decision made some while ago that I just didn't > know about or is it a bug? > > (I'd personally only expect to see that with an explicit SSLEngine On > and no certificate/key files configured) 443 == https why anybody should use it for http? there are thousands of other ports (81, 82, 83, 8080...) signature.asc Description: OpenPGP digital signature
2.2.19 (and probably earlier) won't let you make non-ssl vhosts on 443?
I just upgraded a machine from 2.2.8 to 2.2.19 and suddenly Apache wouldn't let me run non-SSL vhosts on port 443. A snippet like below: DocumentRoot /home/foo/httpdocs ServerName foo allow from all Options +Indexes Suddenly caused the following fatal startup error to be logged: [error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0) Was this an intentional decision made some while ago that I just didn't know about or is it a bug? (I'd personally only expect to see that with an explicit SSLEngine On and no certificate/key files configured) Issac
Re: RFC: aliasing/overriding virtualhosts/setting blocks
On 26/05/2011 11:28, Rainer Jung wrote: > On 24.05.2011 10:23, Issac Goldstand wrote: > >> My third thought was similar. Create a new settings container, and >> allow that to be used as a macro anywhere else: >> >> >> SomeOption >> SomeOtherOption >> >> >> ... >> (anywhere else in httpd.conf) >> ApplyNamedSettings Name > Do you know about mod_macro? > > http://www.cri.ensmp.fr/~coelho/mod_macro/ > > It exists since a long time and is pretty stable. Might need some update > for 2.3/2.4. > > Nope, but it's exactly what I had in mind :) I knew it was worth waiting out for more answers before I jumped in to this. Issac
Re: graceful restart detection in prefork mode
How do you configure "KeepAliveTimeout"? KeepAliveTimeout value is 15(sec) as default. The number of seconds Apache will wait for a subsequent request before closing the connection. 2011/5/26 MATSUMOTO Ryosuke > GracefulShutdownTimeout valiue is zero as defualt. > > Setting this value to zero means that the server will wait indefinitely > until all remaining requests have been fully served. > > > 2011/5/26 Petr Hracek > >> It is not configured yet. >> I suggest that GracefulShutdownTimeout 0 as default is OK, right? >> >> 2011/5/26 MATSUMOTO Ryosuke : >> > Hi, >> > How do you configure "GracefulShutdownTimeout"? >> > 2011/5/26 Petr Hracek >> >> >> >> Dear developers, >> >> >> >> My situation is following: >> >> In my Apache2 running in prefork mode I have following situation. >> >> >> >> Whole pages (except loging page) are run over https (port 443) and >> >> authentication is done over my own module. >> >> When the most users are looking on the pages (https) then I would like >> >> to reload configuration of my apache over command >> >> apache2ctl -k graceful >> >> >> >> I suggest that new users will see new configuration and old users will >> >> have their session till they will not logout. >> >> >> >> But unfortunatelly all sessions are closed and as new as old users >> >> have to login again for other work. >> >> >> >> Is there any solution for that like detection for gracefull restart? >> >> Do you now any idea how to do that? >> >> >> >> My apache2 which is delivered by SUSE is pretty old (I know). >> >> linux:~ # httpd2 -l >> >> Compiled in modules: >> >> core.c >> >> prefork.c >> >> http_core.c >> >> mod_so.c >> >> linux:~ # httpd2 -V >> >> Server version: Apache/2.2.3 >> >> Server built: Apr 14 2010 11:41:47 >> >> Server's Module Magic Number: 20051115:3 >> >> Server loaded: APR 1.2.2, APR-Util 1.2.2 >> >> Compiled using: APR 1.2.2, APR-Util 1.2.2 >> >> Architecture: 32-bit >> >> Server MPM: Prefork >> >> threaded: no >> >>forked: yes (variable process count) >> >> Server compiled with >> >> -D APACHE_MPM_DIR="server/mpm/prefork" >> >> -D APR_HAS_SENDFILE >> >> -D APR_HAS_MMAP >> >> -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) >> >> -D APR_USE_SYSVSEM_SERIALIZE >> >> -D APR_USE_PTHREAD_SERIALIZE >> >> -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT >> >> -D APR_HAS_OTHER_CHILD >> >> -D AP_HAVE_RELIABLE_PIPED_LOGS >> >> -D DYNAMIC_MODULE_LIMIT=128 >> >> -D HTTPD_ROOT="/srv/www" >> >> -D SUEXEC_BIN="/usr/sbin/suexec2" >> >> -D DEFAULT_PIDLOG="/var/run/httpd2.pid" >> >> -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" >> >> -D DEFAULT_LOCKFILE="/var/run/accept.lock" >> >> -D DEFAULT_ERRORLOG="/var/log/apache2/error_log" >> >> -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" >> >> -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf" >> >> linux:~ # >> >> >> >> Thank you in advance. >> >> -- >> >> Best Regards / S pozdravem >> >> Petr Hracek >> > >> > >> >> >> >> -- >> Best Regards / S pozdravem >> Petr Hracek >> > >
Re: RFC: aliasing/overriding virtualhosts/setting blocks
On 24.05.2011 10:23, Issac Goldstand wrote: > A feature that I've kinda wanted for a long time has been the ability to > alias and/or extend existing virtualhosts. Previously, this was just a > minor pain that usually just came up when setting up a website with dual > http and https. It was a bit more of a pain if the virtualhost config > needed substantially more than servername, documentroot and maybe logs > and scriptalias. > > Lately I've started adding native IPv6 support to many of my websites, > and given that now I occasionally have to manage the same config lines 4 > times, the annoyance factor's gotten big enough to get me to stop > whining and start coding. > > I had 4 ideas so far, and wanted to hear some feedback. > > The first idea is Lua, but IMHO (and I imagine that a LOT of you will > disagree), lua configs aren't really going anywhere (and won't until not > only we start using it in the default configs, but also downstream > vendors keep it in THEIR default configs). > > My second idea was to add a feature allowing you to "tag" a virtualhost > with a unique string. Later you can "import" all of those settings into > somewhere else. An example would be: > > > ... > > ApplyNamedSetting name > ... I like the next more, but in light of your reply to "include" I'm not sure what you get w.r.t. maintainability compared with includes. > or maybe the tagging would be with a directive like: > > TagNamedSetting name > > My third thought was similar. Create a new settings container, and > allow that to be used as a macro anywhere else: > > > SomeOption > SomeOtherOption > > > ... > (anywhere else in httpd.conf) > ApplyNamedSettings Name Do you know about mod_macro? http://www.cri.ensmp.fr/~coelho/mod_macro/ It exists since a long time and is pretty stable. Might need some update for 2.3/2.4. > My fourth idea was to allow nested virtualhosts (innermost ones get > settings from outer ones merged in), but I didn't like it as much > because my gut says it's not a simple enough solution (KISS). > > > > ServerName bla > DocumentRoot /foo > > SSLEngine On > ... > > > > > > Thoughts? That sounds more like a grouping container for VirtualHost, e.g. SomeOption SomeOtherOption ServerName bla DocumentRoot /foo SSLEngine On ... But then again very soon you end up with different orthogonal feature sets you want to assign to vhosts and a simple grouping will no longe suffice (feature sets A and B can lead to vhosts needing A, needing B, needing A+B or none). So I think including per VHost still makes more sense and macros are even better, because they let you parametrize the included part and thus often the config gets more compact. Regards, Rainer
Re: graceful restart detection in prefork mode
GracefulShutdownTimeout valiue is zero as defualt. Setting this value to zero means that the server will wait indefinitely until all remaining requests have been fully served. 2011/5/26 Petr Hracek > It is not configured yet. > I suggest that GracefulShutdownTimeout 0 as default is OK, right? > > 2011/5/26 MATSUMOTO Ryosuke : > > Hi, > > How do you configure "GracefulShutdownTimeout"? > > 2011/5/26 Petr Hracek > >> > >> Dear developers, > >> > >> My situation is following: > >> In my Apache2 running in prefork mode I have following situation. > >> > >> Whole pages (except loging page) are run over https (port 443) and > >> authentication is done over my own module. > >> When the most users are looking on the pages (https) then I would like > >> to reload configuration of my apache over command > >> apache2ctl -k graceful > >> > >> I suggest that new users will see new configuration and old users will > >> have their session till they will not logout. > >> > >> But unfortunatelly all sessions are closed and as new as old users > >> have to login again for other work. > >> > >> Is there any solution for that like detection for gracefull restart? > >> Do you now any idea how to do that? > >> > >> My apache2 which is delivered by SUSE is pretty old (I know). > >> linux:~ # httpd2 -l > >> Compiled in modules: > >> core.c > >> prefork.c > >> http_core.c > >> mod_so.c > >> linux:~ # httpd2 -V > >> Server version: Apache/2.2.3 > >> Server built: Apr 14 2010 11:41:47 > >> Server's Module Magic Number: 20051115:3 > >> Server loaded: APR 1.2.2, APR-Util 1.2.2 > >> Compiled using: APR 1.2.2, APR-Util 1.2.2 > >> Architecture: 32-bit > >> Server MPM: Prefork > >> threaded: no > >>forked: yes (variable process count) > >> Server compiled with > >> -D APACHE_MPM_DIR="server/mpm/prefork" > >> -D APR_HAS_SENDFILE > >> -D APR_HAS_MMAP > >> -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) > >> -D APR_USE_SYSVSEM_SERIALIZE > >> -D APR_USE_PTHREAD_SERIALIZE > >> -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT > >> -D APR_HAS_OTHER_CHILD > >> -D AP_HAVE_RELIABLE_PIPED_LOGS > >> -D DYNAMIC_MODULE_LIMIT=128 > >> -D HTTPD_ROOT="/srv/www" > >> -D SUEXEC_BIN="/usr/sbin/suexec2" > >> -D DEFAULT_PIDLOG="/var/run/httpd2.pid" > >> -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" > >> -D DEFAULT_LOCKFILE="/var/run/accept.lock" > >> -D DEFAULT_ERRORLOG="/var/log/apache2/error_log" > >> -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" > >> -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf" > >> linux:~ # > >> > >> Thank you in advance. > >> -- > >> Best Regards / S pozdravem > >> Petr Hracek > > > > > > > > -- > Best Regards / S pozdravem > Petr Hracek >
Re: graceful restart detection in prefork mode
It is not configured yet. I suggest that GracefulShutdownTimeout 0 as default is OK, right? 2011/5/26 MATSUMOTO Ryosuke : > Hi, > How do you configure "GracefulShutdownTimeout"? > 2011/5/26 Petr Hracek >> >> Dear developers, >> >> My situation is following: >> In my Apache2 running in prefork mode I have following situation. >> >> Whole pages (except loging page) are run over https (port 443) and >> authentication is done over my own module. >> When the most users are looking on the pages (https) then I would like >> to reload configuration of my apache over command >> apache2ctl -k graceful >> >> I suggest that new users will see new configuration and old users will >> have their session till they will not logout. >> >> But unfortunatelly all sessions are closed and as new as old users >> have to login again for other work. >> >> Is there any solution for that like detection for gracefull restart? >> Do you now any idea how to do that? >> >> My apache2 which is delivered by SUSE is pretty old (I know). >> linux:~ # httpd2 -l >> Compiled in modules: >> core.c >> prefork.c >> http_core.c >> mod_so.c >> linux:~ # httpd2 -V >> Server version: Apache/2.2.3 >> Server built: Apr 14 2010 11:41:47 >> Server's Module Magic Number: 20051115:3 >> Server loaded: APR 1.2.2, APR-Util 1.2.2 >> Compiled using: APR 1.2.2, APR-Util 1.2.2 >> Architecture: 32-bit >> Server MPM: Prefork >> threaded: no >> forked: yes (variable process count) >> Server compiled with >> -D APACHE_MPM_DIR="server/mpm/prefork" >> -D APR_HAS_SENDFILE >> -D APR_HAS_MMAP >> -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) >> -D APR_USE_SYSVSEM_SERIALIZE >> -D APR_USE_PTHREAD_SERIALIZE >> -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT >> -D APR_HAS_OTHER_CHILD >> -D AP_HAVE_RELIABLE_PIPED_LOGS >> -D DYNAMIC_MODULE_LIMIT=128 >> -D HTTPD_ROOT="/srv/www" >> -D SUEXEC_BIN="/usr/sbin/suexec2" >> -D DEFAULT_PIDLOG="/var/run/httpd2.pid" >> -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" >> -D DEFAULT_LOCKFILE="/var/run/accept.lock" >> -D DEFAULT_ERRORLOG="/var/log/apache2/error_log" >> -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" >> -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf" >> linux:~ # >> >> Thank you in advance. >> -- >> Best Regards / S pozdravem >> Petr Hracek > > -- Best Regards / S pozdravem Petr Hracek
Re: graceful restart detection in prefork mode
Hi, How do you configure "GracefulShutdownTimeout"? 2011/5/26 Petr Hracek > Dear developers, > > My situation is following: > In my Apache2 running in prefork mode I have following situation. > > Whole pages (except loging page) are run over https (port 443) and > authentication is done over my own module. > When the most users are looking on the pages (https) then I would like > to reload configuration of my apache over command > apache2ctl -k graceful > > I suggest that new users will see new configuration and old users will > have their session till they will not logout. > > But unfortunatelly all sessions are closed and as new as old users > have to login again for other work. > > Is there any solution for that like detection for gracefull restart? > Do you now any idea how to do that? > > My apache2 which is delivered by SUSE is pretty old (I know). > linux:~ # httpd2 -l > Compiled in modules: > core.c > prefork.c > http_core.c > mod_so.c > linux:~ # httpd2 -V > Server version: Apache/2.2.3 > Server built: Apr 14 2010 11:41:47 > Server's Module Magic Number: 20051115:3 > Server loaded: APR 1.2.2, APR-Util 1.2.2 > Compiled using: APR 1.2.2, APR-Util 1.2.2 > Architecture: 32-bit > Server MPM: Prefork > threaded: no >forked: yes (variable process count) > Server compiled with > -D APACHE_MPM_DIR="server/mpm/prefork" > -D APR_HAS_SENDFILE > -D APR_HAS_MMAP > -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) > -D APR_USE_SYSVSEM_SERIALIZE > -D APR_USE_PTHREAD_SERIALIZE > -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT > -D APR_HAS_OTHER_CHILD > -D AP_HAVE_RELIABLE_PIPED_LOGS > -D DYNAMIC_MODULE_LIMIT=128 > -D HTTPD_ROOT="/srv/www" > -D SUEXEC_BIN="/usr/sbin/suexec2" > -D DEFAULT_PIDLOG="/var/run/httpd2.pid" > -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" > -D DEFAULT_LOCKFILE="/var/run/accept.lock" > -D DEFAULT_ERRORLOG="/var/log/apache2/error_log" > -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" > -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf" > linux:~ # > > Thank you in advance. > -- > Best Regards / S pozdravem > Petr Hracek >
graceful restart detection in prefork mode
Dear developers, My situation is following: In my Apache2 running in prefork mode I have following situation. Whole pages (except loging page) are run over https (port 443) and authentication is done over my own module. When the most users are looking on the pages (https) then I would like to reload configuration of my apache over command apache2ctl -k graceful I suggest that new users will see new configuration and old users will have their session till they will not logout. But unfortunatelly all sessions are closed and as new as old users have to login again for other work. Is there any solution for that like detection for gracefull restart? Do you now any idea how to do that? My apache2 which is delivered by SUSE is pretty old (I know). linux:~ # httpd2 -l Compiled in modules: core.c prefork.c http_core.c mod_so.c linux:~ # httpd2 -V Server version: Apache/2.2.3 Server built: Apr 14 2010 11:41:47 Server's Module Magic Number: 20051115:3 Server loaded: APR 1.2.2, APR-Util 1.2.2 Compiled using: APR 1.2.2, APR-Util 1.2.2 Architecture: 32-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="/srv/www" -D SUEXEC_BIN="/usr/sbin/suexec2" -D DEFAULT_PIDLOG="/var/run/httpd2.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="/var/run/accept.lock" -D DEFAULT_ERRORLOG="/var/log/apache2/error_log" -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" -D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf" linux:~ # Thank you in advance. -- Best Regards / S pozdravem Petr Hracek
Re: [PATCH] New default sort order in Apache-Test-1.36 (WAS: test framework and latest Fedora)
Hi Fred, On 26.05.2011 02:15, Fred Moyer wrote: > +1 > > Do you have commit privileges on Apache-Test? Surprise, yes :) Committed as r1127812. Regards, Rainer > On Fri, May 20, 2011 at 1:51 PM, Rainer Jung wrote: >> I noticed, that the SMOKE change in 1.36 also introduced a new sorting >> behaviour. In the change the test suite was running by default using the >> repeat order, that means the tests were ordered alpabetically. >> >> Now the default order is random. >> >> Furthermore the -order=rotate (A B C A B C) is gone, and -order=repeat >> now behaves like previously -order=rotate (it seems it previously was A >> A B B C C). >> >> I suggest: >> >> - keep behaviour and name of repeat as it is now >> - don't try to reimplement old repeat, because it might be tricky in >> combination with the new way iterations are done (SMOKE) >> - switch back to the new *repeat* (=old rotate) as the default for >> non-SMOKE tests, i.e. run the tests by default in sorted order and only >> do random if -order=random is explicitely given. >> - stay with random as default for SMOKE >> >> The following one line change should do that: >> >> Index: Apache-Test/lib/Apache/TestSort.pm >> === >> --- Apache-Test/lib/Apache/TestSort.pm (revision 1125303) >> +++ Apache-Test/lib/Apache/TestSort.pm (working copy) >> @@ -54,7 +54,7 @@ >> sub run { >> my($self, $list, $args) = @_; >> >> -my $order = $args->{order} || 'random'; >> +my $order = $args->{order} || 'repeat'; >> if ($order =~ /^\d+$/) { >> #dont want an explicit -seed option but env var can be a pain >> #so if -order is number assume it is the random seed >> >> >> Furthermore the READMEs and Changelog should get updated: >> >> ´Index: README >> === >> --- README (revision 1125303) >> +++ README (working copy) >> @@ -77,18 +77,20 @@ >> >> It's also possible that a test will pass when it's run after a >> particular test, but if moved to run after a different state it may >> -fail. For this reason it's important to ran the randomization smoking >> -testing with -order=random option. >> +fail. For this reason by default the tests run in random order. >> >> Since it's important to be able to reproduce the problem with the >> random testing, whenever -order=random is used, the used seed is >> printed to STDERR. Which can be then fed into the future tests with: >> via APACHE_TEST_SEED environment variable. >> >> +By adding the option -order=repeat, the tests will be run in >> +alphabetical order. >> + >> Combining these two important smoke testing techiques, one can run >> tests with: >> >> -t/SMOKE -times=N -order=(repeat|rotate|random) >> +t/SMOKE -times=N -order=(repeat|random) >> >> For example, to run the mod_rewrite tests 5 times, one would: >> >> @@ -98,8 +100,7 @@ >> modes: >> >> - randomize all tests >> -- repeat the same test N times in sequence >> -- rotate the whole tests suite N times >> +- repeat the whole tests suite N times >> >> For configuration options and default settings run: >> >> Index: Apache-Test/README >> === >> --- Apache-Test/README (revision 1125303) >> +++ Apache-Test/README (working copy) >> @@ -203,18 +203,15 @@ >> >> run all tests 10 times in a random order (the seed is autogenerated >> and reported) >> -% t/TEST -times=10 -order=random >> +% t/SMOKE -times=10 -order=random >> >> run all tests 10 times in a random order using the seed obtained from >> the previous random run (e.g. 2352211): >> -% t/TEST -times=10 -order=2352211 >> +% t/SMOKE -times=10 -order=2352211 >> >> -rotate all tests 10 times (a, b, c, a, b, c) >> -% t/TEST -times=10 -order=rotate >> +repeat all tests 10 times (a, b, c, a, b, c) >> +% t/SMOKE -times=10 -order=repeat >> >> -repeat all tests 10 times (a, a, b, b, c, c) >> -% t/TEST -times=10 -order=repeat >> - >> When certain tests fail when running with -times option, you want to >> find out the minimal sequence of tests that lead to the >> failure. Apache::TestSmoke helps to ease this task, simply run: >> Index: Apache-Test/Changes >> === >> --- Apache-Test/Changes (revision 1125303) >> +++ Apache-Test/Changes (working copy) >> @@ -8,6 +8,9 @@ >> >> =item 1.37-dev >> >> +Run t/TEST tests by default in alphabetical order and >> +only t/SMOKE tests by default in random order. >> + >> Add t_file_watch_for to Apache::TestUtil [Torsten Foertsch] >> >> Add $boolean parameter to Apache::TestHandler::ok and >> Apache::TestHandler::ok1 >> >> Regards, >> >> Rainer