I'm running Server 2016, and ColdFusion2016 update 5 (installed with the update 3 exe) and then have updated to 5. IIS has all of the required handlers from the Web Configuration tool. I have an application named EC_Prod set in IIS pointing to a directory outside of the n:/inetpub/wwwroot directory. It is inside n:/code/EC_Prod. The wwwroot index.html has a link pointing to this application at http://mypage/ec_prod/ and the homepage for the application loads; however, if I append index.cfm to the end it gives error 404.
I have request error tracing and it shows that it is requesting GET for jakarta/isapi_redirect.dll and that ASP_FILE_NOT_FOUND, ASP_COMPILE_FAILED, ASP_LOG_ERROR, and then a warning for MODULE_SET_RESPONSE_ERROR_STATUS.
I have googled everything I can, but have had 0 success with other people's fixes. Both CF2016/Server2016 are x64, the ASP.net framework that is in the ISAPI Filters is x64, and my tomcat filter is also x64.
I have the jakarta virtual directory created and pointing at the Coldfusion2016\config\wsconfig\1.
I have the application physical path for EC_Prod without the ending \ as I've also seen mentioned.
The application was created in CFMX7, and worked fine when I upgraded to CF9/Server2016. We are wanting to get CF2016 working.
Have you re run the Web Configuration Tool?
This catches people out when they set the server up, run the tool and then add a new site in IIS later on. This new site does not automatically get covered. You need to run the tool after you add each new site.
You can either run the tool and remove the existing connector and re add it a for all sites are just add a the new site specifically.
Yes. I've tried rerunning it multiple times. Tried selecting just the default website (only site I have) instead of the "All" option. Unfortunately it doesn't appear to help.
I have added a screenshot of the failed request log.
Make sure you have both a handler mapping for the appropriate file extensions, and an ISAPI mapping for tomcat, and make sure the numbers for each are the same! Sometimes, the wsconfig tool doesn't really get this right if your environment is complicated enough. You can manually edit the web.config and applicationHost.config files to repair this problem.
When you say numbers you mean the wsconfig\1\isapi_redirect.dll ? If so, that's the only one I have. I have tried going to:
mypage:8500/ec_prod/index.cfm and that produces a new error looking for files in my cfusion/wwwroot/ec_prod .. I'm assuming this is due to me adding the :8500. The issue with this is that I have:
<cfset This.Name = ListGetAt(CGI.PATH_TRANSLATED, 3, "\") />
<cfset This.SessionManagement = True />
<cfset This.SessionTimeout = CreateTimeSpan(0,4,0,0) />
<cfset This.ApplicationTimeout= CreateTimeSpan(0,12,0,0) />
<cfset Application.BGColor = "FFFFFF" />
<cfset Application.StandardPath = "/#listGetAt(CGI.PATH_TRANSLATED,3,'\')#" />
<cfset Application.DataSource = "#listGetAt(CGI.PATH_TRANSLATED,3,'\')#" />
<cfset Application.MasterDataSource = "Master" />
<cfset Application.ProtocolType = "http://" />
<cfset Application.Images = "#Application.ProtocolType##cgi.server_name##Application.StandardPath#/Images" />
here are the system variables:
HTTP_ACCEPT=text/html, application/xhtml+xml, image/jxr, */*
HTTP_COOKIE=CFID=806; CFTOKEN=52762846; CFADMIN_LASTPAGE_CFADMIN=%2FCFIDE%2Fadministrator%2Fsettings%2Fmappings%2Ecfm; JSESSIONID=C813FFFA5A3D1C59F3C0929E9FD2AF38.cfusion
HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
If I don't include the :8500 and just go to mypage/ec_prod/ it loads the correct cgi.path_translated as the n:\code\ec_prod ... and the index.cfm, as long as I don't have the index.cfm at the end of the URL. I'm not sure if I'm missing a mapping that is required, or not.