tracker issue : CF-4191659

select a category, or use search below
(searches all categories and all time range)
Title:

IIS connector doesn't work for ALL sites

| View in Tracker

Status/Resolution/Reason: Closed/Fixed/

Reporter/Name(from Bugbase): Dave Quested / Dave Quested (Dave Quested)

Created: 09/21/2016

Components: Installation/Config, Connector

Versions: 2016

Failure Type:

Found In Build/Fixed In Build: CF2016_Update2 /

Priority/Frequency: Major / All users will encounter

Locale/System: English / Windows 7 SP1 64-bit

Vote Count: 0

Problem Description:
When setting up ACF2016 to work for 'all' IIS sites it doesn't setup the connector right. The default document (i.e. index.cfm) throws a 404 for any site/path (i.e. http://mysite/somepath/). If you reference the file directly, (i.e. http://mysite/index.cfm) it works fine.

Steps to Reproduce:
1. Have a website on IIS (e.g http://mysite), with index.cfm as the only document (e.g. http://mysite/index.cfm). 
2. Install ACF2016, choose to setup for 'all' sites. 
3. Once installed try running http://mysite, it won't run the index.cfm file.

Actual Result:
404

Expected Result:
It should run the index.cfm

Any Workarounds:
It does work if you explicitly configure each site one by one using the Web Server Configuration Tool. This is not feasible in a production environment with thousands of sites.

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	4191659

External Customer Info:
External Company:  
External Customer Name: Dave Quested
External Customer Email:  
External Test Config: My Hardware and Environment details:

Tested in development using Win7 + IIS7.5

Attachments:

Comments:

Dave, We can confirm this issue does not occur consistently. Could you please provide the below information for us to understand your issue. - As you mentioned, index.cfm does not get served since the default document is not configured. Can you confirm an entry for index.cfm is missing in IIS default document? - Is any IIS site already configured with another version of ColdFusion. - Please send us your connector debug logs
Comment by Immanuel N.
1760 | September 22, 2016 04:31:41 AM GMT
Dave, any update on this?
Comment by Immanuel N.
1761 | September 29, 2016 01:34:29 AM GMT
Hi Immanuel 1. index.cfm is listed in the default documents at the top. 2. No, previous version of ColdFusion has been removed 3. Because of the buggy ACF implementation we've started to use BonCode so don't have any logs to hand. Further, I've asked on cfml.slack.com, and many others have experienced this issue so definitely needs to be resolved.
Comment by External U.
1762 | September 29, 2016 03:45:16 PM GMT
I've also just tried this on a production machine (win 2012) installing with ALL sites for IIS. If I create a new site, it doesn't work.
Comment by External U.
1763 | September 29, 2016 07:09:39 PM GMT
Hi Dave, I just attempted to install connector for All sites, created a new site, and attempted to have CFM pages in the new site served, and it worked for me. The connector just ensures 'index.cfm' is added to IIS site's Default Document. If requests to the site root still does not get captured, it could be due to rules defined in IIS. Is there a web.config file in the new site's webroot that you can share? I understand you do not have access to connector logs, but it would be helpful if you have any IIS logs to share.
Comment by Immanuel N.
1764 | September 30, 2016 08:11:16 AM GMT
This issue seems to be rooted in the Virtual directories not getting added to any new site that is created. if you use the Web Server Config tool to REMOVE all sites and then re-add ALL sites, then any new sites will work. Of course you will have to do this each time that you add a new site to ensure that the Virtual Directory mappings are updated for each site. This has been happening with IIS since CF10, so hopefully it can be corrected to make the user experience better.
Comment by External U.
1765 | September 30, 2016 09:56:22 AM GMT
Hi Rob, When you create a new website in IIS, any handlers or filters configured at Global level ("All" website), are automatically inherited. But that is not true for virtual directories because virtual directories can be added at website level only. And it is not something that can be handled automatically by CF. So for now only workaround is unconfigure "All" and then again configure it. But doing that results is configuration loss (We do provided backup option during unconfigure). But after next update(HF4), you can just run configure for "All" again and it will just add the missing virtual directories for new website without touching the existing connector and associated configurations.
Comment by Chinoy G.
1766 | October 03, 2016 03:08:31 AM GMT