Re: How to forward external-ip-facing requests from ApacheHTTPServer to Tomcat?

2005-12-25 Thread Pulkit Singhal
Hi,

Thank you for the suggestion :)
I will give it a shot but I am really too deep into my setup to be doing any
big changes or something new! So while I try to google and learn more about
setting up mod_proxy, I would really appreciate if someone can tell me:

How do I go about configuring apache to forward the outside-facing-ip
requests to Tomcat through JK connector?

This should be something pretty standard for anyone who has ever moved
Tomcat from a local testing env. (localhost) to a production env. (real ip)
...right?

Thanks,
- Pulkit

On 12/23/05, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:

 use mod_proxy, much easier, and in our tests has proven to scale better,
 and you will wanna look for a directive called ProxyHostPreserve so that
 request.getServerName returns the right name,
 then the IP address will be stored in x-forwarded-for header in the HTTP
 request.

 Filip

  Hello Everyone,
 
  I have successfully configured Apache to forward requests to my Tomcat
  instance. But it does so...only for requests whose IP resolves to
  127.0.0.1
 
  If I try to access a page through apache server (that's actually on
  tomcat)
  with the outside-facing-ip of my computer it fails.
 
  For example:
  1) URL: http://12.34.56.78:666/blah/serveMe.html;FAILS with
 a
  404 (apache does not forward properly)
 
  2) URL: http://12.34.56.78:8080/blah/serveMe.html;   SUCCEEDS
  (tomcat seems to be ok when it gets the request directly, so it has to
 be
  a
  forwarding failure by apache in the previous case)
 
  3) URL: http://my.domain.com:666/blah/serveMe.html;  SUCCEEDS (I
 have
  
  my.domain.com mapped to 127.0.0.1 in my windows' hosts file)
 
  4) URL: http://localhost:666/blah/serveMe.html;SUCCEEDS
 
  I think this happens because the 1st request (the one with the outside
  facing ip) is not forwarded to Tomcat by apache.
  a) The apache error logs show that Apache is trying to look for the page
  in
  the wrong place
  b) The access logs ofcourse show a 404 because it can't find the page to
  serve
 
  Now, I have read a few threads and been on a few forums and apparently
 my
  worker.properties file is supposed to be as simple as this:
  
  worker.list=ajp13
  worker.ajp13.port=8009
  worker.ajp13.host=my.domain.com
  worker.ajp13.type=ajp13
  ---
 
  I also tried putting my outside-facing-ip and localhost as values for 
  worker.ajp13.host but it didn't seem to make any difference at all.
 
  In that case I must ask all of you:
  Question 1: How do I go about configuring apache to forward the
  outside-facing-ip requests to Tomcat? If it is not done in
  workers.properties...then where is it handled?
  Question 2: Or am I wrong and it is actually handled by
  workers.properties?
  Even then, how?
 
  Thanks in advance to all those who answer and all those who take the
 time
  to
  read this.
 
  Cheers,
  - Pulkit
 



 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




Re: How to forward external-ip-facing requests from ApacheHTTPServer to Tomcat?

2005-12-25 Thread Pulkit Singhal
Hi Daniel,

Firstly, Thank you for your response.

Secondly, I must confess that I failed to grasp some of it due to my
ignorance of Unix. I understood the overall idea but found myself
scared/hesitant in implementing it as I'm using Win Server 2003. I'm a bit
perplexed by the contents you said I could add to workers2.properties as I
was not aware that fields were acceptable in such format. May be its the
type of connector you are using or maybe its just my lack of
experience/knowledge.

I did find a soulution of ***sorts** which I would like to share with all of
you so that you may comment/bash on its weaknesses/lamenesses thus helping
me in finding a better one:

*sigh* I just:

a) Removed the 127.0.0.1my.server.com mapping from the hosts file.

b) Added another Virtual Host to my server.xml file...resulting in something
like this:

!-- Define the default virtual host --
Host name=localhost ...
Listener className=org.apache.jk.config.ApacheConfig
  modJk=c:/apps/apache/apache2/modules/mod_jk-
apache-2.0.55.so /
/Host

!-- Define the hack virtual host for external-facing-ip
requests
Host name=my.server.com ...
Listener className=org.apache.jk.config.ApacheConfig
  modJk=c:/apps/apache/apache2/modules/mod_jk-
apache-2.0.55.so /
/Host

c) This happened to do the job, as now the file that Tomcat was
auto-generating for use by Apache had some lines that accounted for the
proper forwarding of external-facing-ip requests as well :)
These were not there earlier and the file I speak of is
tomcat_home\conf\auto\mod_jk.conf )

d) I still feel a bit jilted because my solution seems repetitive...there
are 2 virtual hosts that are located in the exact same place and to top it
off they have the same listeners inside them. They are identical in every
aspect.
I HAD tried entering Aliasmy.server.com/Alias under the localhost
virtual-host but that did not seem to do the job... so I settled for having
this repitition.

Do let me know of your thoughts on this...

Cheers,
- Pulkit

On 12/25/05, Daniel Blumenthal [EMAIL PROTECTED] wrote:

 I've set up my system so that Apache handles all requests, and forwards to
 the servlet when the path is www.mysite.com/myservlet/*.

 Following are my installation notes.
 (note that there's a slightly newer version of the JK connector)

 % tar zxf jakarta-tomcat-connectors-jk2-src-current.tar.gz
 % cd jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2
 % ./configure --with-apxs2=/usr/local/apache/bin/apxs
 % make
 % su
 % cp ../build/jk2/apache2/mod_jk2.so /usr/local/apache/modules
 % cp ../build/jk2/apache2/jkjni.so /usr/local/apache/modules

 make sure that httpd owns the apache directory

 tomcat/server.xml: make sure that the following connector is uncommented:
   Connector className=org.apache.ajp.tomcat4.Ajp13Connector port=8009
 minProcessors=5 maxProcessors=75 acceptCount=10 debug=0/

 create a workers2.properties file in /usr/local/apache/conf with the
 following contents:
   [logger]
   level=DEBUG
   [shm]
   file=/usr/local/apache/logs/jk2.shm
   size=1048576
   [channel.socket:localhost:8009]
   info=Ajp13 forwarding over socket
   tomcatId=localhost:8009
   [uri:/myservlet/*]
   context=/myservlet

 % touch /usr/local/apache/logs/jk2.shm
 % chown httpd /usr/local/apache/logs/jk2.shm
 % chgrp httpd /usr/local/apache/logs/jk2.shm

 add the following line to /usr/local/apache/conf/httpd.conf:
   LoadModule jk2_module modules/mod_jk2.so


 I hope this helps.

 Daniel


  -Original Message-
  From: Pulkit Singhal [mailto:[EMAIL PROTECTED]
  Sent: Sunday, December 25, 2005 1:12 PM
  To: Tomcat Users List
  Subject: Re: How to forward external-ip-facing requests from
  ApacheHTTPServer to Tomcat?
 
  Hi,
 
  Thank you for the suggestion :)
  I will give it a shot but I am really too deep into my setup
  to be doing any big changes or something new! So while I try
  to google and learn more about setting up mod_proxy, I would
  really appreciate if someone can tell me:
 
  How do I go about configuring apache to forward the
  outside-facing-ip requests to Tomcat through JK connector?
 
  This should be something pretty standard for anyone who has
  ever moved Tomcat from a local testing env. (localhost) to a
  production env. (real ip) ...right?
 
  Thanks,
  - Pulkit
 
  On 12/23/05, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
  
   use mod_proxy, much easier, and in our tests has proven to scale
   better, and you will wanna look for a directive called
   ProxyHostPreserve so that request.getServerName returns the right
   name, then the IP address will be stored in x-forwarded-for
  header in
   the HTTP request.
  
   Filip
  
Hello Everyone,
   
I have successfully configured Apache to forward requests to my
Tomcat instance. But it does so...only for requests whose IP
resolves to
127.0.0.1

RE: How to forward external-ip-facing requests from ApacheHTTPServer to Tomcat?

2005-12-25 Thread Daniel Blumenthal
Pulkit,

I don't have any experience with WinServer (strictly a Linux man), but if it
works...  Also, it was my understanding (last time I checked) that no one's
maintaining the old jk connector code - possibly because your method is now
the recommended way?  I don't know.

Good luck!

Daniel

 -Original Message-
 From: Pulkit Singhal [mailto:[EMAIL PROTECTED] 
 Sent: Sunday, December 25, 2005 6:29 PM
 To: Tomcat Users List; [EMAIL PROTECTED]
 Subject: Re: How to forward external-ip-facing requests from 
 ApacheHTTPServer to Tomcat?
 
 Hi Daniel,
 
 Firstly, Thank you for your response.
 
 Secondly, I must confess that I failed to grasp some of it 
 due to my ignorance of Unix. I understood the overall idea 
 but found myself scared/hesitant in implementing it as I'm 
 using Win Server 2003. I'm a bit perplexed by the contents 
 you said I could add to workers2.properties as I was not 
 aware that fields were acceptable in such format. May be its 
 the type of connector you are using or maybe its just my lack 
 of experience/knowledge.
 
 I did find a soulution of ***sorts** which I would like to 
 share with all of you so that you may comment/bash on its 
 weaknesses/lamenesses thus helping me in finding a better one:
 
 *sigh* I just:
 
 a) Removed the 127.0.0.1my.server.com mapping from the 
 hosts file.
 
 b) Added another Virtual Host to my server.xml 
 file...resulting in something like this:
 
 !-- Define the default virtual host --
 Host name=localhost ...
 Listener 
 className=org.apache.jk.config.ApacheConfig
   
 modJk=c:/apps/apache/apache2/modules/mod_jk-
 apache-2.0.55.so /
 /Host
 
 !-- Define the hack virtual host for external-facing-ip
 requests
 Host name=my.server.com ...
 Listener 
 className=org.apache.jk.config.ApacheConfig
   
 modJk=c:/apps/apache/apache2/modules/mod_jk-
 apache-2.0.55.so /
 /Host
 
 c) This happened to do the job, as now the file that Tomcat 
 was auto-generating for use by Apache had some lines that 
 accounted for the proper forwarding of external-facing-ip 
 requests as well :) These were not there earlier and the file 
 I speak of is tomcat_home\conf\auto\mod_jk.conf )
 
 d) I still feel a bit jilted because my solution seems 
 repetitive...there are 2 virtual hosts that are located in 
 the exact same place and to top it off they have the same 
 listeners inside them. They are identical in every aspect.
 I HAD tried entering Aliasmy.server.com/Alias under the 
 localhost virtual-host but that did not seem to do the job... 
 so I settled for having this repitition.
 
 Do let me know of your thoughts on this...
 
 Cheers,
 - Pulkit
 
 On 12/25/05, Daniel Blumenthal [EMAIL PROTECTED] wrote:
 
  I've set up my system so that Apache handles all requests, and 
  forwards to the servlet when the path is www.mysite.com/myservlet/*.
 
  Following are my installation notes.
  (note that there's a slightly newer version of the JK connector)
 
  % tar zxf jakarta-tomcat-connectors-jk2-src-current.tar.gz
  % cd jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2
  % ./configure --with-apxs2=/usr/local/apache/bin/apxs
  % make
  % su
  % cp ../build/jk2/apache2/mod_jk2.so /usr/local/apache/modules % cp 
  ../build/jk2/apache2/jkjni.so /usr/local/apache/modules
 
  make sure that httpd owns the apache directory
 
  tomcat/server.xml: make sure that the following connector 
 is uncommented:
Connector 
 className=org.apache.ajp.tomcat4.Ajp13Connector port=8009
  minProcessors=5 maxProcessors=75 acceptCount=10 debug=0/
 
  create a workers2.properties file in 
 /usr/local/apache/conf with the 
  following contents:
[logger]
level=DEBUG
[shm]
file=/usr/local/apache/logs/jk2.shm
size=1048576
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009
[uri:/myservlet/*]
context=/myservlet
 
  % touch /usr/local/apache/logs/jk2.shm % chown httpd 
  /usr/local/apache/logs/jk2.shm % chgrp httpd 
  /usr/local/apache/logs/jk2.shm
 
  add the following line to /usr/local/apache/conf/httpd.conf:
LoadModule jk2_module modules/mod_jk2.so
 
 
  I hope this helps.
 
  Daniel
 
 
   -Original Message-
   From: Pulkit Singhal [mailto:[EMAIL PROTECTED]
   Sent: Sunday, December 25, 2005 1:12 PM
   To: Tomcat Users List
   Subject: Re: How to forward external-ip-facing requests from 
   ApacheHTTPServer to Tomcat?
  
   Hi,
  
   Thank you for the suggestion :)
   I will give it a shot but I am really too deep into my 
 setup to be 
   doing any big changes or something new! So while I try to 
 google and 
   learn more about setting up mod_proxy, I would really 
 appreciate if 
   someone can tell me:
  
   How do I go about configuring apache to forward the 
   outside-facing-ip requests to Tomcat through JK connector?
  
   This should

Re: How to forward external-ip-facing requests from ApacheHTTPServer to Tomcat?

2005-12-23 Thread devlists
use mod_proxy, much easier, and in our tests has proven to scale better,
and you will wanna look for a directive called ProxyHostPreserve so that
request.getServerName returns the right name,
then the IP address will be stored in x-forwarded-for header in the HTTP
request.

Filip

 Hello Everyone,

 I have successfully configured Apache to forward requests to my Tomcat
 instance. But it does so...only for requests whose IP resolves to
 127.0.0.1

 If I try to access a page through apache server (that's actually on
 tomcat)
 with the outside-facing-ip of my computer it fails.

 For example:
 1) URL: http://12.34.56.78:666/blah/serveMe.html;FAILS with a
 404 (apache does not forward properly)

 2) URL: http://12.34.56.78:8080/blah/serveMe.html;   SUCCEEDS
 (tomcat seems to be ok when it gets the request directly, so it has to be
 a
 forwarding failure by apache in the previous case)

 3) URL: http://my.domain.com:666/blah/serveMe.html;  SUCCEEDS (I have
 
 my.domain.com mapped to 127.0.0.1 in my windows' hosts file)

 4) URL: http://localhost:666/blah/serveMe.html;SUCCEEDS

 I think this happens because the 1st request (the one with the outside
 facing ip) is not forwarded to Tomcat by apache.
 a) The apache error logs show that Apache is trying to look for the page
 in
 the wrong place
 b) The access logs ofcourse show a 404 because it can't find the page to
 serve

 Now, I have read a few threads and been on a few forums and apparently my
 worker.properties file is supposed to be as simple as this:
 
 worker.list=ajp13
 worker.ajp13.port=8009
 worker.ajp13.host=my.domain.com
 worker.ajp13.type=ajp13
 ---

 I also tried putting my outside-facing-ip and localhost as values for 
 worker.ajp13.host but it didn't seem to make any difference at all.

 In that case I must ask all of you:
 Question 1: How do I go about configuring apache to forward the
 outside-facing-ip requests to Tomcat? If it is not done in
 workers.properties...then where is it handled?
 Question 2: Or am I wrong and it is actually handled by
 workers.properties?
 Even then, how?

 Thanks in advance to all those who answer and all those who take the time
 to
 read this.

 Cheers,
 - Pulkit




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]