ISAPI Filters w/ IIS, CF9 and Tomcat
We currently have a CF9/IIS7.5 setup. We are trying to introduce a JSP application and needed to install Tomcat to run it (It's on port 8080). We need both CF and the JSP app to work on the same HTTPS (443) site. I tried adding a ISAPI Redirect in IIS but that just makes the entire site run with Tomcat. Anything else you can do for both to work in parallel? ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:351898 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: ISAPI Filters w/ IIS, CF9 and Tomcat
We currently have a CF9/IIS7.5 setup. We are trying to introduce a JSP application and needed to install Tomcat to run it (It's on port 8080). We need both CF and the JSP app to work on the same HTTPS (443) site. I tried adding a ISAPI Redirect in IIS but that just makes the entire site run with Tomcat. Anything else you can do for both to work in parallel? You can't have both of them handling the same set of URLs. You can define different context paths for each (assuming you're using CF 9 Enterprise multiserver configuration). Or you could just deploy your JSP app on JRun. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on GSA Schedule, and provides the highest caliber vendor-authorized instruction at our training centers, online, or onsite. ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:351899 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: ISAPI Filters w/ IIS, CF9 and Tomcat
Hey Dave, What would be the easiest way to deploy the app on JRun? Thanks Chad On Mon, Jul 16, 2012 at 11:23 AM, Dave Watts dwa...@figleaf.com wrote: We currently have a CF9/IIS7.5 setup. We are trying to introduce a JSP application and needed to install Tomcat to run it (It's on port 8080). We need both CF and the JSP app to work on the same HTTPS (443) site. I tried adding a ISAPI Redirect in IIS but that just makes the entire site run with Tomcat. Anything else you can do for both to work in parallel? You can't have both of them handling the same set of URLs. You can define different context paths for each (assuming you're using CF 9 Enterprise multiserver configuration). Or you could just deploy your JSP app on JRun. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on GSA Schedule, and provides the highest caliber vendor-authorized instruction at our training centers, online, or onsite. ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:351900 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: ISAPI Filters w/ IIS, CF9 and Tomcat
What would be the easiest way to deploy the app on JRun? Good question. I'm not sure, but I'd start with the assembly deployment guide here: http://livedocs.adobe.com/jrun/4/ Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on GSA Schedule, and provides the highest caliber vendor-authorized instruction at our training centers, online, or onsite. ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:351901 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: ISAPI filters
Instead of using the isapi as a wildcard, try having it be the handler for .cfm files and the static files won't be handled by the dll. I don't know if you would need other extensions as well, but you can set those up the same way. I'm trying to set up ColdFusion 9 on IIS7? As soon as I add the jrun_iis6_wildcard.dll ISAPI filter, a call to an HTML file will fail. As soon as I remove the filter, it succeeds. I also await a fix for jrun_iis6_wildcard.dll blocking static file requests. Thanks!, -Aaron Neff ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:335223 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: ISAPI filters
Instead of using the isapi as a wildcard, try having it be the handler for .cfm files and the static files won't be handled by the dll. I don't know if you would need other extensions as well, but you can set those up the same way. That will fix this problem, but it will introduce other problems. CF does rely on URL patterns that don't necessarily correspond with extensions or physical locations that exist (CFIMAGE, RDS, etc) and those rely on the use of a filter rather than an extension handler. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on GSA Schedule, and provides the highest caliber vendor-authorized instruction at our training centers, online, or onsit ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:335225 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: ISAPI filters
Thanks all of you for your suggestions. I'm actually camping and off-roading this weekend, but here I am by the campfire, iPad lovingly nestled on my lap, because I appreciate everyones' responses, haha. Unfortunately this environment isn't easily open to switching around to a reverse proxy although it's something to bring up. The setup was working with CF 7 and it probably took me 15 hours to set up their staging servers as I spun my wheels for a while unsuccessfully trying to run wsconfig and having other issues. When I finally cracked that problem I thought production would go better. I worked on it from 20:00-05:00 the other night, including the time to roll back to the previous config, which fortunately still worked, Staging and production are of course supposed to be identical but in this case apparently they aren't. Thanks Dave for explaining that the wildcard filter will intercept all requests. I thought that extensions set up as MIME types in IIS were handled natively and not passed through. Well, the change was aborted, and now meetings must commence to decide what to do about it. There was another CF instance that had to be upgraded due to an incompatibility introduced by a vendor and at least that one went without a hitch. Andrew. On 2010-07-09, at 11:05, Dave Watts dwa...@figleaf.com wrote: I'm trying to set up ColdFusion 9 in distributed mode (again, on some other servers). As soon as I add the jrun_iis6_wildcard.dll ISAPI filter, a call to an HTML file will fail. As soon as I remove the filter, it succeeds. I thought that .html and .htm files were not served by a filter but directly by IIS. Is this indicative of a misconfiguration within IIS, or what's going on here? It's more complicated than that. When you install an ISAPI filter, all traffic is processed by that filter. The filter does whatever it's supposed to do, then forwards the request to the next stage of the IIS processing pipeline if there's anything left to do. My understanding is that Apache modules basically work the same way. In the case of CF, the request is received by IIS, sent to the ISAPI filter, which passes the request to CF. CF looks at the URL patterns it has defined in web.xml. It then processes the request if it matches one of the URL patterns, or returns the request to the ISAPI filter if it doesn't. There is a tiny bit of overhead from all this request passing, which is why some high-availability environments (like the Macromedia site and presumably now the Adobe site) use a non-standard context root (something other than /) for CF. By using a non-standard context root, the filter can be limited to a specific predetermined URL pattern, like /cfusion. None of this actually solves your problem, but it might explain why you're having that problem. Finally, I hate to say this, but I'd recommended using a reverse proxy instead of distributed mode, which I've always found kind of fragile and problematic. Using a reverse proxy gets you the same benefits (the ability to isolate CF from your public interface, the ability to segment serving static files from dynamic ones) but doesn't rely on anything built into CF/JRun. We have a few high-availability clients using a reverse proxy, typically on public-facing Apache on Unix servers, sending requests to isolated CF/IIS servers internally, and this works pretty well. Of course, it's probably too late to rethink your architecture at this point. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on GSA Schedule, and provides the highest caliber vendor-authorized instruction at our training centers, online, or onsi ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:335237 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: ISAPI filters
I don't think these will be issues in this instance. I also meant to try using the wildcard dll specifically for .cfm requests instead of cf-iis6.dll or whatever, but now that I'm thinking about it I'm not sure if I actually did that. I did try without the wildcard. That allowed .HTML files to work but .cfm still didn't work. Andrew. On 2010-07-10, at 13:11, Dave Watts dwa...@figleaf.com wrote: Instead of using the isapi as a wildcard, try having it be the handler for .cfm files and the static files won't be handled by the dll. I don't know if you would need other extensions as well, but you can set those up the same way. That will fix this problem, but it will introduce other problems. CF does rely on URL patterns that don't necessarily correspond with extensions or physical locations that exist (CFIMAGE, RDS, etc) and those rely on the use of a filter rather than an extension handler. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on GSA Schedule, and provides the highest caliber vendor-authorized instruction at our training centers, online, or onsit ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:335238 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: ISAPI filters
I'm trying to set up ColdFusion 9 in distributed mode (again, on some other servers). As soon as I add the jrun_iis6_wildcard.dll ISAPI filter, a call to an HTML file will fail. As soon as I remove the filter, it succeeds. I thought that .html and .htm files were not served by a filter but directly by IIS. Is this indicative of a misconfiguration within IIS, or what's going on here? It's more complicated than that. When you install an ISAPI filter, all traffic is processed by that filter. The filter does whatever it's supposed to do, then forwards the request to the next stage of the IIS processing pipeline if there's anything left to do. My understanding is that Apache modules basically work the same way. In the case of CF, the request is received by IIS, sent to the ISAPI filter, which passes the request to CF. CF looks at the URL patterns it has defined in web.xml. It then processes the request if it matches one of the URL patterns, or returns the request to the ISAPI filter if it doesn't. There is a tiny bit of overhead from all this request passing, which is why some high-availability environments (like the Macromedia site and presumably now the Adobe site) use a non-standard context root (something other than /) for CF. By using a non-standard context root, the filter can be limited to a specific predetermined URL pattern, like /cfusion. None of this actually solves your problem, but it might explain why you're having that problem. Finally, I hate to say this, but I'd recommended using a reverse proxy instead of distributed mode, which I've always found kind of fragile and problematic. Using a reverse proxy gets you the same benefits (the ability to isolate CF from your public interface, the ability to segment serving static files from dynamic ones) but doesn't rely on anything built into CF/JRun. We have a few high-availability clients using a reverse proxy, typically on public-facing Apache on Unix servers, sending requests to isolated CF/IIS servers internally, and this works pretty well. Of course, it's probably too late to rethink your architecture at this point. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on GSA Schedule, and provides the highest caliber vendor-authorized instruction at our training centers, online, or onsi ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:335210 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: ISAPI filters
I'm trying to set up ColdFusion 9 on IIS7? As soon as I add the jrun_iis6_wildcard.dll ISAPI filter, a call to an HTML file will fail. As soon as I remove the filter, it succeeds. I also await a fix for jrun_iis6_wildcard.dll blocking static file requests. Thanks!, -Aaron Neff ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:335221 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
ISAPI filters
I'm trying to set up ColdFusion 9 in distributed mode (again, on some other servers). As soon as I add the jrun_iis6_wildcard.dll ISAPI filter, a call to an HTML file will fail. As soon as I remove the filter, it succeeds. I thought that .html and .htm files were not served by a filter but directly by IIS. Is this indicative of a misconfiguration within IIS, or what's going on here? Thanks, - Andrew. ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:335207 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
CFMX and ISAPI Filters
Hi all, I'm trying to upgrade our dev server from cf5 to cfmx and am having a little problem... (btw its win2k iis5 sql2k). The security on our websites depends on an isapi filter which redirects the user to a secure login page, sets a cookie then allows the user back to the website. The cookie is only persistent during the open browser session. After having installed cfmx there appears to be some kind of conflict between our security isapi filter and the CFMX Jrun Connection Filter - in that sometimes our security isapi filter runs first and the user can login, or the Jrun isapi filter runs first and ignores the security. The means that sometimes you can login and sometimes not. It seems to be in a similar vein to a message posted in the macromedia forums (though no solution has been offered yet): http://webforums.macromedia.com/coldfusion/messageview.cfm?catid=12threadid =500822highlight_key=ykeyword1=isapi Unfortunately, we are required to use the university's security isapi filter, so we can't remove that, so am I stuck with going back to cf5? or are there any other options open to me? One thought I had was that we move to apache as the problem above is partly due to iis. Any thoughts, suggestions (or even a solution!) would be much appreciated. TIA Alex Little Web Developer Institute of Educational Technology Open University, UK ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq This list and all House of Fusion resources hosted by CFHosting.com. The place for dependable ColdFusion Hosting.