tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pid...@pidster.com>
Subject Re: Apache 2.2.4 + Tomcat 6.0.9 using mod_proxy for ColdFusion
Date Tue, 13 Feb 2007 09:24:10 GMT
Hi Dave (again),


So... your Tomcat context config problem.

You've got mod_proxy setup to direct some requests to a Tomcat instance, 
but you are sending those requests to a Tomcat that doesn't have any cfm 
files in it's webapp.

try putting a single test.cfm (hello world type file) into the tomcat 
docbase of the ROOT webapp, and then requesting it as normal.


/httpd/docs/your/static/stuff

/tomcat/webapps/ROOT/your/cfms



If we can get that to work, then we'll work out how to fix your app up 
to get a useable result.



p




Dave Shuck wrote:
> I have been trying to nail down how to configure the combination of Apache 
> 2.2.4 + Tomcat 6.0.9 using mod_proxy to pass ColdFusion templates to an 
> instance of a ColdFusion server for processing which is loaded as an 
> application in Tomcat.  
> 
> After some very helpful responses from Pid on the apache-users list, I am 
> furthering my discussion here as it appears that my issue lies with my 
> misconfiguration (or more aptly un-configuration) of Tomcat to make this 
> work.   Below is the conversation that brought me to this list.  
> 
> I am clearly open to the answer of 'rtfm', but I have been thusfar unable to 
> find the 'm' in which my answer exists.     :)
> 
> I would be very grateful for any further advice on this issue.
> 
> Dave Shuck wrote:
>> I hate to spam up the list with this issue, but I have another question if 
> you 
>> would indulge me.  To strip this down a bit, let's just forget about the 
>> multiple instances and say I have a single instance of Tomcat and have 
>> installed ColdFusion as an application within it.   
>>
>> So far I have been able to forward .cfm files to ColdFusion via mod_jk and 
>> ProxyPass, but neither was in the way that I expected.  I haven't been able 
>> to successfully process cfm files with the RewriteRule method.  Perhaps the 
>> problem is in my expectation rather than functionality.
>>
>> Here is what I would expect to happen.  In Tomcat there is a webapp 
>> named "ROOT" which is where the ColdFusion web admin tools and such 
>> installed.  It's physical path is /usr/local/apache-tomcat/webapps/ROOT I 
> can 
>> hit that with http://localhost:8080/......   
> 
> ok...
> 
>> Then in my httpd-vhosts.conf I 
>> have a website that is pathed /usr/local/apache2/htdocs/whateversite.  I 
>> Ideally I want all my files to exist in the .../htdocs/whateversite 
> directory 
>> and when I hit a .cfm file in that directory, I want that file to be 
>> processed by the ColdFusion application.    
> 
> yes...
> 
>> When I used ProxyPass, any request to 'whateversite' would just forward the 
>> request to the 'ROOT' site and expect the requested file to exist 
>> in .../webapps/ROOT.    Obviously this wasn't the answer.
> 
> that's because you told it to...
> 
> when the request comes in, you forward the request to tomcat, which 
> looked for it in the default application (ROOT) because you haven't told 
> Tomcat to look anywhere else.
> 
> Apache doesn't send the whole file over to Tomcat for processing, it 
> just abdicates responsibility for the requested url and expects Tomcat 
> to know what to do with it, and where to find it.
> 
>> When I used mod_jk, any non-".cfm" templates would serve properly but when 
> it 
>> went to serve the ".cfm" templates it would expect those to exist in 
>> that "ROOT" directory rather in the "whateversite" directory just as 
>> ProxyPass had.  This was closer but still not the answer.
> 
> as above you've not configured your Tomcat to know where those files are.
> 
>> I haven't yet gotten your suggestion working using RewriteRule, but  would 
>> this work as I was expecting where it would not actually re-route the 
> request 
>> to look for the template in another directory, but actually process the 
>> requested template through the application?
> 
> it doesn't process the file like a filter, a proxy instruction hands off 
> the request for processing by another server, then feeds the results 
> back to the client.
> 
>> For what it's worth, I added this to the bottom of my httpd.conf file:
>> ReWriteEngine on
>> RewriteRule  ^\/(.+)\.cfm(.+)? ajp://localhost:8009/$1.cfm$2 [P,L]
>> RewriteRule  ^\/(.+)\.cfc(.+)? ajp://localhost:8009/$1.cfc$2 [P,L]
>>
>> And this does exist in my Tomcat server.xml:
>>     <!-- Define an AJP 1.3 Connector on port 8009 -->
>>     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
>>
>> When I put request a ColdFusion template it just serves the plain text back 
>> from the template sitting in the "whatever" site.  I am not seeing any 
>> errors, but it just seems to do nothing with that ".cfm" request.
>>
>> Again, I feel like I am just missing something that is probably painfully 
>> obvious to others, but after reading and re-reading through the docs I am 
>> just not finding the exact answer I am looking for.
> 
> Your Tomcat configuration isn't quite right yet.
> 
> You need to specify, either a docbase in the ROOT context with all your 
> cf? files in it, or add another context and direct all requests to that.
> 
> ask about configuring Tomcat webapps on the tomcat-user list & I'll look 
> out for you there.
> 


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message