Skip to main content
ChimeranThreat
Participant
November 15, 2017
Question

CF2016u5/IIS10(Server 2016) loading mypage/ but not mypage/index.cfm

  • November 15, 2017
  • 2 replies
  • 1205 views

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.

    This topic has been closed for replies.

    2 replies

    Community Expert
    November 16, 2017

    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.

    Dave Watts, Eidolon LLC
    ChimeranThreat
    Participant
    November 17, 2017

    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:

    <cfcomponent>

    <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) />

    <cffunction name="onApplicationStart">

    <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:

    Application Variables:

    applicationname=cfusion

    backgroundimage=

    bgcolor=FFFFFF

    currentbackuppath=N:\db_backup\

    datasource=cfusion

    defaultofficeid=2

    doclib_documents=N:\code\cfusion\DocLib_Documents

    errortemplates=/errortemplates

    filesubsystempath=N:\code\cfusion\DocLib_Documents

    fusebox=Struct (38)

    images=http://mypage/cfusion/Images

    masterdatasource=Master

    maxrows=10

    objadmin=Struct (17)

    objevent=Struct (3)

    objmanageevidence=Struct (122)

    protocoltype=http://

    standardpath=/cfusion

    windowtimeoutinterval=7140000

    CGI Variables:

    AUTH_PASSWORD=

    AUTH_TYPE=

    AUTH_USER=

    CERT_COOKIE=

    CERT_FLAGS=

    CERT_ISSUER=

    CERT_KEYSIZE=

    CERT_SECRETKEYSIZE=

    CERT_SERIALNUMBER=

    CERT_SERVER_ISSUER=

    CERT_SERVER_SUBJECT=

    CERT_SUBJECT=

    CF_TEMPLATE_PATH=N:\ColdFusion2016\cfusion\wwwroot\EC_Prod\index.cfm

    CONTENT_LENGTH=

    CONTENT_TYPE=

    CONTEXT_PATH=

    GATEWAY_INTERFACE=

    HTTPS=off

    HTTPS_KEYSIZE=

    HTTPS_SECRETKEYSIZE=

    HTTPS_SERVER_ISSUER=

    HTTPS_SERVER_SUBJECT=

    HTTP_ACCEPT=text/html, application/xhtml+xml, image/jxr, */*

    HTTP_ACCEPT_ENCODING=gzip, deflate

    HTTP_ACCEPT_LANGUAGE=en-US

    HTTP_CONNECTION=Keep-Alive

    HTTP_COOKIE=CFID=806; CFTOKEN=52762846; CFADMIN_LASTPAGE_CFADMIN=%2FCFIDE%2Fadministrator%2Fsettings%2Fmappings%2Ecfm; JSESSIONID=C813FFFA5A3D1C59F3C0929E9FD2AF38.cfusion

    HTTP_HOST=cgrcfl-ecs:8500

    HTTP_REFERER=

    HTTP_URL=

    HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko

    LOCAL_ADDR=0:0:0:0:0:0:0:1

    PATH_INFO=

    PATH_TRANSLATED=N:\ColdFusion2016\cfusion\wwwroot\EC_Prod\index.cfm

    QUERY_STRING=fuseAction=Private.Display&CFID=806&CFTOKEN=52762846

    REMOTE_ADDR=0:0:0:0:0:0:0:1

    REMOTE_HOST=0:0:0:0:0:0:0:1

    REMOTE_USER=

    REQUEST_METHOD=GET

    SCRIPT_NAME=/ec_prod/index.cfm

    SERVER_NAME=mypage

    SERVER_PORT=8500

    SERVER_PORT_SECURE=0

    SERVER_PROTOCOL=HTTP/1.1

    SERVER_SOFTWARE=

    WEB_SERVER_API=

    ChimeranThreat
    Participant
    November 17, 2017

    Also,

    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.

    Inspiring
    November 16, 2017

    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.

    ChimeranThreat
    Participant
    November 16, 2017

    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.