Joshua Gregoire wrote:
First, thanks for your assistance with this, I appreciate the time and
effort.
No problem. The people here are all volunteers, who try to help because they like doing this. They also do it to the limit of their abilities. Unfortunately my abilities in terms of IIS and the isapi-redirector are limited, because I usually work with Apache and the mod_jk redirector. But the isapi_redirector and mod_jk are two implementations of the same basic module, so the principles should be the same.

It's quite possible I'm using it wrong.

I thought so at first, but after this previous post, I think that at least you have got some of the ideas correctly.
Just, I think, a bit mixed up.

Me too in this case, because there is a difference in terminology between Microsoft/IIS (which tends to talk about "virtual directories" and "sites"), and open-source software like Apache and Tomcat (which tend to talk in terms of "hosts" and "roots" and "webapps").

In IIS, I setup a site with root drive on C:\inetpub\r18test2.kcc.edu
and I created two virtual directories, 1 for the isapi dll called
jakarta and another for the WebAdvisor2 folder in tomcat called
WebAdvisor2.
I believe that there is something wrong here. I think that this is one too many.

I am assuming that, in the long run, you will want some static content (html pages, images, etc..) to be served directly by IIS, and only the links that invoke Java servlets (or JSP pages), to be "passed through" to Tomcat via the redirector. (You will even at some point need 3 distinct Tomcats according to your explanation, but let's leave that for later).

The basic idea of the redirector in a case like this is :
- you tell IIS which requests it needs to hand over to the redirector (based on some pattern in the URI), and which not. This happens through configuration instructions in IIS.
The links which are /not/ redirected, are served locally by IIS.
The links which /are/ redirected are handed over by IIS to the redirector.
- the redirector then passes the redirected HTTP requests to Tomcat, over a special, private TCP/IP connection. For that, the redirector needs to know where this Tomcat is (host and port). That is the role of the redirector's "workers.properties" configuration file. (The redirector knows each back-end Tomcat as a "worker", from there the name). - Tomcat receives the request, and based on the request URI, directs this request to one of the webapps that "run inside it". In your case, that is your "WebAdvisor2" webapp (a webapp is a collection of servlets, and in Tomcat's parlance it is also called a "context"). - The Tomcat webapp processes the request, generates a response, and passes this response back to the redirector (via the special private TCP/IP connection). - the redirector then passes this response back to IIS, which passes it to the browser (through the normal HTTP connection which the browser has with IIS).

The whole thing should be transparent to the user and his browser, which talks only to IIS over port 80, for all requests. So the URLs seen by the browser should always be of the form "http://r18test2.kcc.edu/..."; (without the :8080). And it is IIS which should decide, if it sees a portion "/WebAdvisor2" in the URI, to pass this request (internally) to the redirector, which will pass it to Tomcat for processing. The redirector normally (in the vanilla standard configuration) passes this request to Tomcat over TCP/IP port 8009 (not 8080). And Tomcat (in its configuration file "server.xml") configures a <Connector> of type "AJP", which listens on that port 8009 for such requests coming from the IIS redirector.

So basically, what I am saying is that there should be no need to have a page on IIS which does a redirect of the browser to Tomcat. The internal IIS+redirector configuration at the IIS level, should already insure that any link that looks like containing "/WebAdvisor2", is internally redirected to Tomcat and processed by Tomcat, and that the Tomcat response will come back from Tomcat through IIS and back to the browser.

What I am also saying, is that if you see in the browser any link which mentions port 8080, then it means that this link has not gone/is not going through IIS and the redirector. It is going directly to Tomcat.

If you look in Tomcat's server.xml file, you will see that it has (at least) 2 <Connector>'s : one listening on port 8009 (for the redirector in IIS, using a protocol called AJP); and another one listening on port 8080 for direct HTTP calls to Tomcat. If the URL contains a ":8080", it means that this URL is "talking" directly to Tomcat, and not to IIS and the redirector.

So, it looks so far like you missed something in the redirector configuration for IIS. Unfortunately, my ability to help there is not so great, because I do not have a working IIS to try things with.


  If someone goes to http://r18test2.kcc.edu, you get the
default doc in the C:\inetpub\r18test2.kcc.edu folder, which is where I
put the meta redirect. However, if you type
http://r18test2.kcc.edu/WebAdvisor2/WebAdvisor2, you get redirected,
I'm assuming through the isapi dll, to
http://10.10.11.90:8080/WebAdvisor2/WebAdvisor2.  So it appeared to
me that the isapi was working.  Does that make any sense?

It is not that it does not make sense.  It is just wrong, see above.
If the link contains ":8080", it probably does not mean anything isapi-redirector-wise, because it does not go through IIS and the redirector. This just means that your Tomcat and your webapp are working, when the browser talks directly to Tomcat via HTTP on port 8080. Congratulations for the working Tomcat and webapp, but that is not what you are trying to achieve right now, I think.

Practically now :
- re-read th configuration instructions for the isapi redirector, because I believe that you may have one "virtual directory" too many. - I believe that you should remove the automatic re-direction using the refresh tag in the IIS page. It just confuses things.
- then you should try to access your server as follows :
http://r18test2.kcc.edu/WebAdvisor2

If your IIS+isapi_redirect is well-configured, you should get the first page of your Tomcat webapp.
If that is not the case, let us know what you see.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to