Sponsored Content
Operating Systems Linux Apache vhost - debug web request Post 302959516 by hergp on Wednesday 4th of November 2015 01:59:20 AM
Old 11-04-2015
The request is processed by a virtual host with a matching ServerName or ServerAlias. If no one matches the url, the first virtual host defined will process the request.

You can dump some configuration settings, including all vhosts, with httpd -S or apachectl -S.

You also might consider defining a custom log format including the %v specifier to print out the ServerName handling this particular request.
This User Gave Thanks to hergp For This Post:
 

10 More Discussions You Might Find Interesting

1. Programming

Request help to debug errors while running in 'C'

I run, 2 'C' Files, gapw.c and getkey.c, but I get the following errors :- I) $ gcc gapw.c gapw.c: In function `main': gapw.c:96: warning: cast to pointer from integer of different size /tmp/cck4I8mW.o(.text+0x227): In function `main': : undefined reference to `getprofilestring'... (1 Reply)
Discussion started by: marconi
1 Replies

2. BSD

forwarding the request to the Outlook Web Access

Hello, FreeBSD is not forwarding the request to the Outlook Web Access. Is there some process that needs to be run in order for this to start? The server was rebuilt and is pingable. Any suggestion is greatly appreciated. Thank you, Gish (1 Reply)
Discussion started by: TESTQWER
1 Replies

3. Web Development

Apache log with long strings of Xs in GET request

Hi everybody, I was looking at my apache2 log and I found GET requests as such: Some ip - - "GET... (4 Replies)
Discussion started by: z1dane
4 Replies

4. Web Development

Copy and forward apache http request

Hello, I am using apache 2.2 and I need to have certain http requests (those including example.com for instance) to be executed normally and forwarded to another server. With mod_rewrite, I could easily forward but then the input request would not be executed on my server. Right? Am I... (1 Reply)
Discussion started by: JCR
1 Replies

5. Web Development

Apache vhost redirect to a cgi file

Hi guys, I've been trying to figure this out all day however havent managed to as of yet. I have a server called netmon (network monitoring) which runs a multitude of programs to monitor the network. I also have a cname pointing to netmon called smokeping. At the moment to access smokeping... (0 Replies)
Discussion started by: JayC89
0 Replies

6. Cybersecurity

configure apache to accept request form specific IP

Hi, What should I change in the httpd.conf so that the apache will accept request from page from specific IP and deny all the rest IP. I am reading the document of the apache but it is very long (700 pages) and I searched but I could not find something about this. So if someone can explain... (0 Replies)
Discussion started by: programAngel
0 Replies

7. Programming

Creating a web based id request form

Please pardon my ignorance, but I need to create a web-based form which can be used to request access to the unix servers in our environment. It just needs to have input fields for basic info (name, dept., etc.), and perhaps a drop-down box with the names of the servers. The form will be submitted... (2 Replies)
Discussion started by: wjssj
2 Replies

8. Red Hat

Apache not using second vhost..

I have a test setup running apache 2.2. I'm just serving up some images to my dekstop. I can't get apache to use my second vhost entry.. I know both entries work as I switched them around in my vhosts.conf. I just can't use them both at the same time. Can someone help me please? my... (0 Replies)
Discussion started by: general_lee
0 Replies

9. Web Development

Vhost issue in apache ..Unable to figure out

Hi I have vhosts configured for my sites like: <VirtualHost ip_abc:8081> ........ ..... .... </VirtualHost> Now I have added a new vhost but on entering the same information on some other port say: <VirtualHost ip_abc:8082> ........ ..... .... </VirtualHost> (2 Replies)
Discussion started by: ankur328
2 Replies

10. OS X (Apple)

Web Request log

Hey all, I would like to track what applications are requesting access at the unix level. is there a log or a way to capture all network access requests? Not with applications. (1 Reply)
Discussion started by: Phorn
1 Replies
apache_mod_perl-108~358::mod_perl-2.0.7::docs::api::ApacUser:Contributed)apache_mod_perl-108~358::mod_perl-2.0.7::docs::api::Apache2::ServerRec(3)

NAME
Apache2::ServerRec - Perl API for Apache server record accessors Synopsis use Apache2::ServerRec (); $error_fname = $s->error_fname(); $is_virtual = $s->is_virtual(); $keep_alive = $s->keep_alive(); $keep_alive_max = $s->keep_alive_max(); $keep_alive_timeout = $s->keep_alive_timeout(); $limit_req_fields = $s->limit_req_fields(); $limit_req_fieldsize = $s->limit_req_fieldsize(); $limit_req_line = $s->limit_req_line(); $path = $s->path(); $hostname = $s->server_hostname(); $port = $s->port(); $server_admin = $s->server_admin(); $proc = $s->process(); $timeout = $s->timeout(); $loglevel = $s->loglevel(); my $server = Apache2::ServerUtil->server; my $vhosts = 0; for (my $s = $server->next; $s; $s = $s->next) { $vhosts++; } print "There are $vhosts virtual hosts"; Description "Apache2::ServerRec" provides the Perl API for Apache server_rec object. "Apache2::ServerUtil" provides an extra functionality. API
"Apache2::ServerRec" provides the following functions and/or methods: "error_fname" Get/set the "ErrorLog" file value (e.g. logs/error_log) $error_fname = $s->error_fname(); $prev_error_fname = $s->error_fname($new_error_fname); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_error_fname ( string ) If passed, sets the new value for "ErrorLog" Note the limited functionality under threaded MPMs. ret: $error_fname ( string ) Returns the "ErrorLog" value setting. If $new_error_fname is passed returns the setting before the change. since: 2.0.00 "is_virtual" Test whether $s is a virtual host object $is_virtual = $s->is_virtual(); obj: $s ( "Apache2::ServerRec object" ) ret: $is_virtual ( boolean ) Returns the is_virtual setting. If $new_is_virtual is passed, returns the setting before the change. since: 2.0.00 Example: print "This is a virtual host" if $s->is_virtual(); "keep_alive" Get/set the "KeepAlive" setting, which specifies whether Apache should accept more than one request over the same connection from the same client. $keep_alive = $s->keep_alive(); $prev_keep_alive = $s->keep_alive($new_keep_alive); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_keep_alive ( boolean ) If passed, sets the new keep_alive. Note the limited functionality under threaded MPMs. ret: $keep_alive ( boolean ) Returns the "KeepAlive" setting. If $new_keep_alive is passed, returns the setting before the change. since: 2.0.00 "keep_alive_max" Get/set the "MaxKeepAliveRequest" setting, which specifies the maximum number of requests Apache will serve over a "KeepAlive" connection. $keep_alive_max = $s->keep_alive_max(); $prev_keep_alive_max = $s->keep_alive_max($new_keep_alive_max); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_keep_alive_max ( integer ) If passed, sets the new keep_alive_max. Note the limited functionality under threaded MPMs. ret: $keep_alive_max ( integer ) Returns the keep_alive_max setting. If $new_keep_alive_max is passed, returns the setting before the change. since: 2.0.00 "keep_alive_timeout" Get/set the "KeepAliveTimeout" setting (in microsecs), which specifies how long Apache will wait for another request before breaking a "KeepAlive" connection. $keep_alive_timeout = $s->keep_alive_timeout(); $prev_keep_alive_timeout = $s->keep_alive_timeout($new_timeout); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_keep_alive_timeout ( integer ) The expected value is in microsecs. If passed, sets the new "KeepAlive" timeout. Note the limited functionality under threaded MPMs. ret: $keep_alive_timeout ( integer ) Returns the "KeepAlive" timeout value (in microsecs). If $new_timeout is passed, returns the setting before the change. since: 2.0.00 "limit_req_fields" Get/set limit on number of request header fields $limit_req_fields = $s->limit_req_fields(); $prev_limit_req_fields = $s->limit_req_fields($new_limit_req_fields); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_limit_req_fields ( integer ) If passed, sets the new request headers number limit. Note the limited functionality under threaded MPMs. ret: $limit_req_fields ( integer ) Returns the request headers number limit. If $new_limit_req_fields is passed, returns the setting before the change. since: 2.0.00 "limit_req_fieldsize" Get/set limit on size of any request header field $limit_req_fieldsize = $s->limit_req_fieldsize(); $prev_limit = $s->limit_req_fieldsize($new_limit); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_limit_req_fieldsize ( integer ) If passed, sets the new request header size limit. Note the limited functionality under threaded MPMs. ret: $limit_req_fieldsize ( integer ) Returns the request header size limit. If $new_limit is passed, returns the setting before the change. since: 2.0.00 "limit_req_line" Get/set limit on size of the HTTP request line $limit_req_line = $s->limit_req_line(); $prev_limit_req_line = $s->limit_req_line($new_limit_req_line); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_limit_req_line ( integer ) If passed, sets the new request line limit value. Note the limited functionality under threaded MPMs. ret: $limit_req_line ( integer ) Returns the request line limit value If $new_limit_req_line is passed, returns the setting before the change. since: 2.0.00 "loglevel" Get/set the "LogLevel" directive value $loglevel = $s->loglevel(); $prev_loglevel = $s->loglevel($new_loglevel); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_loglevel ( "Apache2::Const :log constant" ) If passed, sets a new "LogLevel" value Note the limited functionality under threaded MPMs. ret: $loglevel ( "Apache2::Const :log constant" ) Returns the "LogLevel" value as a constant. If $new_loglevel is passed, returns the setting before the change. since: 2.0.00 For example, to set the "LogLevel" value to "info": use Apache2::Const -compile => qw(LOG_INFO); $s->loglevel(Apache2::Const::LOG_INFO); "next" The next server record in the list (if there are vhosts) $s_next = $s->next(); obj: $s ( "Apache2::ServerRec object" ) ret: $s_next ( "Apache2::ServerRec object" ) since: 2.0.00 For example the following code traverses all the servers, starting from the base server and continuing to vhost servers, counting all available vhosts: use Apache2::ServerRec (); use Apache2::ServerUtil (); my $server = Apache2::ServerUtil->server; my $vhosts = 0; for (my $s = $server->next; $s; $s = $s->next) { $vhosts++; } print "There are $vhosts virtual hosts"; "path" Get/set pathname for the "ServerPath" setting $path = $s->path(); $prev_path = $s->path($new_path); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_path ( string ) If passed, sets the new path. Note the limited functionality under threaded MPMs. ret: $path ( string ) Returns the path setting. If $new_path is passed, returns the setting before the change. since: 2.0.00 "port" Get/set the port value $port = $s->port(); $prev_port = $s->port($new_port); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_port ( integer ) If passed, sets the new port. Note the limited functionality under threaded MPMs. META: I don't think one should be allowed to change port number after the server has started. ret: $port ( integer ) Returns the port setting. If $new_port is passed returns the setting before the change. since: 2.0.00 "process" The process this server is running in $proc = $s->process(); obj: $s ( "Apache2::ServerRec object" ) ret: $proc ( "Apache2::Process object" ) since: 2.0.00 "server_admin" Get/set the "ServerAdmin" value $server_admin = $s->server_admin(); $prev_server_admin = $s->server_admin($new_server_admin); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_server_admin ( string ) If passed, sets the new "ServerAdmin" value. Note the limited functionality under threaded MPMs. ret: $server_admin ( string ) Returns the "ServerAdmin" value. If $new_server_admin is passed, returns the setting before the change. since: 2.0.00 "server_hostname" Get/set the "ServerName" value $server_hostname = $s->server_hostname(); $prev_server_hostname = $s->server_hostname($new_server_hostname); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_server_hostname ( string ) If passed, sets the "ServerName" value Note the limited functionality under threaded MPMs. ret: $server_hostname ( string ) Returns the "ServerName" value If $new_server_hostname is passed, returns the setting before the change. since: 2.0.00 "timeout" Get/set the timeout ("TimeOut") (in microsecs), which Apache will wait for before it gives up doing something $timeout = $s->timeout(); $prev_timeout = $s->timeout($new_timeout); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_timeout ( integer ) If passed, sets the new timeout (the value should be in microseconds). Note the limited functionality under threaded MPMs. ret: $timeout ( integer ) Returns the timeout setting in microseconds. If $new_timeout is passed, returns the setting before the change. since: 2.0.00 Let us repeat again: the timeout values is microseconds. For example to set the timeout to 20 secs: $s->timeout(20_000_000); Notes Limited Functionality under Threaded MPMs Note that under threaded MPMs, some of the read/write accessors, will be able to set values only before threads are spawned (i.e. before the "ChildInit phase"). Therefore if you are developing your application on the non-threaded MPM, but planning to have it run under threaded mpm, you should not use those methods to set values after the ChildInit phase. The affected accessor methods are marked as such in their respective documentation entries. Unsupported API "Apache2::ServerRec" also provides auto-generated Perl interface for a few other methods which aren't tested at the moment and therefore their API is a subject to change. These methods will be finalized later as a need arises. If you want to rely on any of the following methods please contact the the mod_perl development mailing list so we can help each other take the steps necessary to shift the method to an officially supported API. "addrs" Get the addrs value $addrs = $s->addrs(); obj: $s ( "Apache2::ServerRec object" ) ret: $addrs ( "Apache2::ServerAddr" ) Returns the addrs setting. since: subject to change META: this methods returns a vhost-specific Apache2::ServerAddr object, which is not implemented at the moment. See the struct server_addr_rec entry in httpd-2.0/include/httpd.h for more information. It seems that most (all?) of the information in that record is available through other APIs. "lookup_defaults" Get the lookup_defaults value. MIME type info, etc., before we start checking per-directory info. $lookup_defaults = $s->lookup_defaults(); obj: $s ( "Apache2::ServerRec object" ) ret: $lookup_defaults ( "Apache2::ConfVector" ) Returns the lookup_defaults setting. since: subject to change "module_config" Get config vector containing pointers to modules' per-server config structures. $module_config = $s->module_config(); obj: $s ( "Apache2::ServerRec object" ) ret: $module_config ( "Apache2::ConfVector" ) Returns the module_config setting. since: subject to change "names" Get/set the value(s) for the "ServerAlias" setting $names = $s->names(); $prev_names = $s->names($new_names); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_names ( "APR::ArrayHeader" ) If passed, sets the new names. Note the limited functionality under threaded MPMs. ret: $names ( "APR::ArrayHeader" ) Returns the names setting. If $new_names is passed, returns the setting before the change. since: 2.0.00 META: we don't have "APR::ArrayHeader" yet "wild_names" Wildcarded names for ServerAlias servers $wild_names = $s->wild_names(); $prev_wild_names = $s->wild_names($new_wild_names); obj: $s ( "Apache2::ServerRec object" ) opt arg1: $new_wild_names ( "APR::ArrayHeader" ) If passed, sets the new wild_names. Note the limited functionality under threaded MPMs. ret: $wild_names ( "APR::ArrayHeader" ) Returns the wild_names setting. If $new_wild_names is passed, returns the setting before the change. since: 2.0.00 META: we don't have "APR::ArrayHeader" yet See Also mod_perl 2.0 documentation. Copyright mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0. Authors The mod_perl development team and numerous contributors. perl v5.16.2 2011-apache_mod_perl-108~358::mod_perl-2.0.7::docs::api::Apache2::ServerRec(3)
All times are GMT -4. The time now is 12:42 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy