Return-Path: X-Original-To: apmail-httpd-dev-archive@www.apache.org Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 014E8D3FE for ; Wed, 10 Oct 2012 14:11:10 +0000 (UTC) Received: (qmail 91880 invoked by uid 500); 10 Oct 2012 14:11:09 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 91661 invoked by uid 500); 10 Oct 2012 14:11:08 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 91627 invoked by uid 99); 10 Oct 2012 14:11:08 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Oct 2012 14:11:08 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,NORMAL_HTTP_TO_IP,RCVD_IN_DNSWL_LOW,SPF_PASS,WEIRD_PORT X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jitesh.verma@gmail.com designates 209.85.212.45 as permitted sender) Received: from [209.85.212.45] (HELO mail-vb0-f45.google.com) (209.85.212.45) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Oct 2012 14:10:31 +0000 Received: by mail-vb0-f45.google.com with SMTP id p1so655179vbi.18 for ; Wed, 10 Oct 2012 07:10:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=J7vq6pddq3gJ6YIpQMfVLpTnFHAiAO6UK3oKhY/bGTI=; b=ncq8MF7sKGY5ZtBIuemyiUIXLcxBMnh6jjFbZiY30zFZJUWh3kc1hIWmpUUcjwDN0w MxepHZd6xmyTwKW6usZrQy8ybGhHhbm3hYl7FXchF1AyApOMLi2tZx4hl5/zJEXxzWTu fkHhqfjmqP7n6ozMe2GJ94HrANsisyNGlPqYCst6zmKn730SwhJPC38bmBeWOKATXyEX VFjiilp83Pd48Lnaw5/MnNVdh7JB1gxGLdmzRGXSaDLZo5ftjyaTirXG0VabK09k9ZKp IdgBcUIvsjWLFeTFyCAxJ/qvPZt2j389C2DdPfu2JXMRwD134DteSzHVnbNFeSvXNZ8l SblA== MIME-Version: 1.0 Received: by 10.220.220.7 with SMTP id hw7mr13727805vcb.17.1349878210427; Wed, 10 Oct 2012 07:10:10 -0700 (PDT) Received: by 10.58.255.70 with HTTP; Wed, 10 Oct 2012 07:10:09 -0700 (PDT) In-Reply-To: References: Date: Wed, 10 Oct 2012 19:40:09 +0530 Message-ID: Subject: Re: Help reqd. for httpd-2.4.2 From: Jitesh Verma To: dev@httpd.apache.org Content-Type: multipart/alternative; boundary=14dae9d24d5438f98c04cbb50358 X-Virus-Checked: Checked by ClamAV on apache.org --14dae9d24d5438f98c04cbb50358 Content-Type: text/plain; charset=ISO-8859-1 Hi Graham, Thanks for your reply. Please see my reply in-line. On Wed, Oct 10, 2012 at 6:49 PM, Graham Leggett wrote: > On 10 Oct 2012, at 1:55 PM, Jitesh Verma wrote: > > We have ported httpd-2.4.2 to a network embedded box running Linux on > Xscale hardware. We have two modules of our own to handle XML requests from > our Applets. We have added all the 80 odd .so modules (that get built with > default "configure" settings) in httpd.conf. > > > Is there a specific problem you're trying to solve by adding all 80 > modules to your server? Ideally, you should only load the modules you need, > and no more. > Only the following 8 modules were enough to make my GUI/Applet work. Remaining modules were added only after "Listen 9000" did not work. I was just trying to see if loading all the modules make any difference. But unfortunately, that did not help. LoadModule authz_core_module modules/mod_authz_core.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule unixd_module modules/mod_unixd.so LoadModule dir_module modules/mod_dir.so LoadModule cgi_module modules/mod_cgi.so LoadModule mime_module modules/mod_mime.so LoadModule alias_module modules/mod_alias. > > We are able to access the box's GUI/Applets with "Listen 80" directive in > the httpd.conf. > However, when we add another directive "Listen 9000" to httpd.conf, httpd > does not respond to HTTP request sent to port 80. The following requests > from Internet Explorer fails to get any response from httpd: > http://192.168.0.1 > http://192.168.0.1:80 > http://192.168.0.1:9000 > > Wireshark packet trace indicates that the request packet is correctly sent > to TCP port 80 when request http://192.168.0.1 is sent from browser. > However, the outgoing packet is missing from the packet trace. It seems > httpd did not generate any response (not even "File not found" response). > > > TCP involves the exchange of many packets to establish a connection, and > if a connection is not successfully established you cannot expect a higher > level response of any kind. I would first ensure that a TCP connection is > possible to establish properly before worrying about something running > above it. > Packet trace shows that TCP session is getting established successfully. After that, httpd does receive the first HTTP request from browser as is evident from /var/log/access_log. But no HTTP response goes back to the browser. TCP session remain intact. > > "netstat -tnlp" command shows httpd listening on both TCP port 80 and 9000. > /var/log/access_log indicates that the incoming packet reached httpd. > Gateway/firewall data indicates that both TCP ports 80 and 9000 are open > in both the directions (incoming and outgoing). > The moment additional "Listen 9000" directive is removed from httpd.conf, > httpd starts working fine (starts serving http://192.168.0.1 request). > We have enabled and configured "debugging" and "loggers" modules. Still, > /var/log/error_log and /var/log/messages do not show any error or warning. > > > We thought adding another "Listen" directive to httpd.conf is a child's > play, but it seems to be a humongous task. > > > Multiple Listen statements is a standard thing in many installs of the > server, and will be done by definition if a server supports both http and > https. It is definitely not a humungous task. > > Are we missing something? Am I doing something wrong?? Is it a bug??? Can > someone help in this forum? How to debug this issue? > > Please find attached httpd.conf and configure wrapper script > (configure.wrapper) used for configuring and building httpd and its > components. > > > Looking at your configure script that looks very wrong - you've overridden > all sorts of low level options without indicating clearly why you've done > so. As you're on what seems like custom hardware, I would get apr and > apr-util built clean and all tests run successfully before even looking at > httpd. Httpd relies heavily on apr and apr-util, and if these underlying > libraries haven't been installed or configured properly httpd and any other > app that depends on apr/apr-util are certain not to work. > Low level options were assigned the explicit values for my platform (Linux/Xscale) because configure script had failed to determine these valuses as this is cross-compilation case. Those options are correct to the best my knowledge. APR and APR-Util builds cleanly. shared libraries (.so) of libapr, libapr-util, libpcre and libexpat have been installed properly. These libs get loaded by httpd without any error. I am not using any App other than httpd. My GUI/Applets is up and running with port 80, so I do not doubt the configuration and compilation of libs. But I may be wrong. The whole question is - httpd works fine if there is only "Listen 80". The moment I add "Listen 9000" (or 9001) to httpd.conf, httpd stops working even with port 80 (request with port 9000 anyway does not work). Why should port 9000 affect the fucntionality of port 80? > > Regards, > Graham > -- > > --14dae9d24d5438f98c04cbb50358 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Hi Graham,
Thanks for your reply.
Please see my reply in-line.

On Wed, Oct 10, 2012 at 6:49 PM, Graham Leggett = <minfrin@sharp.fm> wrote:
On 10 Oct 2012, at 1:55 PM, Jitesh Verma <jitesh.verma@gmail.com> wrote:

We have ported httpd-2.4.2 to a network embedded = box running Linux on Xscale hardware. We have two modules of our own to han= dle XML requests from our Applets. We have added all the 80 odd .so modules= (that get built with default "configure" settings) in httpd.conf= .

Is there a specific problem you're trying to solve by adding all 8= 0 modules to your server? Ideally, you should only load the modules you nee= d, and no more.
<Jitesh> Only the following 8 modules were enough to make my GUI= /Applet work. Remaining modules were added only after "Listen 9000&quo= t; did not work. I was just trying to see if loading all the modules make a= ny difference. But unfortunately, that did not help.
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_= host_module modules/mod_authz_host.so
LoadModule unixd_module modules/mo= d_unixd.so
LoadModule dir_module modules/mod_dir.so
LoadModule cgi_mo= dule modules/mod_cgi.so
LoadModule mime_module modules/mod_mime.so
LoadModule alias_module modul= es/mod_alias.

We are able to access the box's GUI/Applets w= ith "Listen 80" directive in the httpd.conf.
However, when we = add another directive "Listen 9000" to httpd.conf, httpd does not= respond to HTTP request sent to port 80. The following requests from Inter= net Explorer fails to get any response from httpd:
http://192.168.0.1http://192.168.0.1:80
http://192.168.= 0.1:9000
=A0
Wireshark packet trace indicates that the request packet is correctl= y sent to TCP port 80 when request http://192.168.0.1 is sent from browser. However, the outgo= ing packet is missing from the packet trace. It seems httpd did not generat= e any response (not even "File not found" response).

TCP involves the exchange of many packets to establish a connection, a= nd if a connection is not successfully established you cannot expect a high= er level response of any kind. I would first ensure that a TCP connection i= s possible to establish properly before worrying about something running ab= ove it.
<Jitesh> Packet trace shows that TCP session is getting establis= hed successfully. After that, httpd does receive the first HTTP request fro= m browser as is evident from /var/log/access_log. But no HTTP response goes= back to the browser. TCP session remain intact.

"netstat -tnlp" command shows httpd lis= tening on both TCP port 80 and 9000.
/var/log/access_log indicates that = the incoming packet reached httpd.
Gateway/firewall data indicates that = both TCP ports 80 and 9000 are open in both the directions (incoming and ou= tgoing).
The moment additional "Listen 9000" directive is removed from htt= pd.conf, httpd starts working fine (starts serving http://192.168.0.1 request).
We have enabl= ed and configured "debugging" and "loggers" modules. St= ill, /var/log/error_log and /var/log/messages do not show any error or warn= ing.
=A0=A0
We thought adding another "Listen" dire= ctive to httpd.conf is a child's play, but it seems to be a humongous t= ask.

Multiple Listen statements is a standard thing in many installs of the= server, and will be done by definition if a server supports both http and = https. It is definitely not a humungous task.

Are we missing something? Am I doing something wr= ong?? Is it a bug??? Can someone help in this forum? How to debug this issu= e?
=A0
Please find attached httpd.conf and configure wrapper script (= configure.wrapper) used for configuring and building httpd and its componen= ts.

Looking at your configure script that looks very wrong - you've ov= erridden all sorts of low level options without indicating clearly why you&= #39;ve done so. As you're on what seems like custom hardware, I would g= et apr and apr-util built clean and all tests run successfully before even = looking at httpd. Httpd relies heavily on apr and apr-util, and if these un= derlying libraries haven't been installed or configured properly httpd = and any other app that depends on apr/apr-util are certain not to work.
<Jitesh> Low level options were assigned the explicit values for= my platform (Linux/Xscale) because configure script had failed to determin= e these valuses as this is cross-compilation case. Those options are correc= t to the best my knowledge. APR and APR-Util builds cleanly. shared librari= es (.so) of libapr, libapr-util, libpcre and libexpat have been installed p= roperly. These libs get loaded by httpd without any error. I am not using a= ny App other than httpd. My GUI/Applets is up and running with port 80, so = I do not doubt the configuration and compilation of libs. But I may be wron= g.
The whole question is - httpd works fine if there is only "Listen= 80". The moment I add "Listen 9000" (or 9001) to httpd.conf= , httpd stops working even with port 80 (request with port 9000 anyway does= not work). Why should port 9000 affect the fucntionality of port 80?

Regards,
Graham
--


--14dae9d24d5438f98c04cbb50358--