I suspect that I am over-thinking this question but I wonder if anyone can help clear up my understanding of precisely how Tomcat connects with front-end web servers (IIS in this case, but the question should apply to any of them).
We run about a dozen instances of a web app on an Windows 2012/ACF 10 server. On our ACF 10 installs, we set up all of our hosts within IIS, and then use Bilal's fantastic AJP connector to plug them into CF. All of the site definitions are in IIS and there is no tinkering with Tomcat. 'Stock' ACF 10 has only one <host> definition:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="false">
My understanding of what is happening here is that, because Tomcat has no idea where out actual webroots are, IIS is either sending the path to Tomcat to read, or else sending the actual content of the file for Tomcat to process, and then returning it; either way, Tomcat is unaware that there are a dozen instances of anything except inasmuch as CF designates Applications within them, and that's on the CF level and not the Tomcat level.
The Tomcat 'webapps' folder in the ACF install is empty.
I just installed Tomcat 8.5 and Lucee 5.1 beta (via the custom JAR) on a dev machine and can get to Lucee admin directly via Tomcat (localhost:8081 in my case). Tomcat was configured according to this guide:
If I try to access any of my sites on IIS using the connector, Lucee comes back with:
Page /foo/index.cfm [C:\Tomcat\webapps\ROOT\foo\index.cfm] not found.
I realize that I can specify host definitions in Tomcat for every one of our app instances, but I feel like I'm missing something simple that ACF was doing here:
1) Is this possible, or do I need a <host> definition for every IIS host?
2) Why is ACF Tomcat's /webapps empty? How does it know where to look?
Thank you!
Sam