• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
1

Default document not being processed when not included in URL

Engaged ,
Nov 01, 2012 Nov 01, 2012

Copy link to clipboard

Copied

Running ColdFusion 9,0,1,274733 on JRun (J2EE install), Windows Server 2008 R2, Java 1.6.0_22

Has anyone else had a problem getting the default document, index.cfm, to work with ColdFusion? I'm assuming that this is only an issue because of our setup; different web server (IIS) and application server (ColdFusion). I can't imagine we are the only ones running this configuration. Are we?

So here is the issue.

If we request http://mysite.com/test/index.cfm it works.

If we request http://mysite.com/test/ it does not work and we get a 404.

I checked the web connector's log file on our IIS server and can see that it is sending the request to our ColdFusion server. The ColdFusion server is sending back the 404 error code but I can't figure out why. We have the default document set on our IIS server for index.cfm. We also have the <welcome-file-list> set to include index.cfm on our application server (web.xml).

From our web connector's log when we do NOT include index.cfm:

2012-11-01 13:37:22 jrISAPI[4544:3600]  ***HttpExtensionProc for JRun ISAPI Extension: uri is "/test/"

2012-11-01 13:37:22 jrISAPI[4544:3600]     HTTP_HOST: servername

2012-11-01 13:37:22 jrISAPI[4544:3600]  filtering /test/ (/test/) HOST=servername

2012-11-01 13:37:22 jrISAPI[4544:3600]  filterRequest:   no match

2012-11-01 13:37:22 jrISAPI[4544:3600]  ExecUrl: request received: URL=/test/

2012-11-01 13:37:22 jrISAPI[4544:3600]  ExecUrl Completion: 404, ErrorCode=2, URL=/test/.

From our web connector's log when we do include index.cfm:

2012-11-01 13:49:02 jrISAPI[9936:3600]  ***HttpExtensionProc for JRun ISAPI Extension: uri is "/test/index.cfm"

2012-11-01 13:49:02 jrISAPI[9936:3600]     HTTP_HOST: servername

2012-11-01 13:49:02 jrISAPI[9936:3600]  filtering /test/index.cfm (/test/index.cfm) HOST=servername

2012-11-01 13:49:02 jrISAPI[9936:3600]  filterRequest:   matched *.cfm

2012-11-01 13:49:02 jrISAPI[9936:3600]  ***IISWorkerThreadProc for JRun ISAPI Extension: uri is "/test/index.cfm"

2012-11-01 13:49:02 jrISAPI[9936:3600]     ALL_RAW: Connection: Keep-Alive Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, application (553)

2012-11-01 13:49:02 jrISAPI[9936:3600]  Headers and Values:

... and much more ...

We have gotten around this issue by using the URL Rewrite module in IIS to append index.cfm to the URL. It works but my gut keeps telling me that we should not need to do that for such basic functionality.

Is anyone else having this issue? How have you gotten around this?

Views

19.1K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Nov 01, 2012 Nov 01, 2012

Copy link to clipboard

Copied

If you are using IIS, index.cfm is not in there by default.  You have to add it to the default documents list.  I don't have instructions, for that, but it's easily googled.

Never mind.. didn't read the whole post. 

^_^

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 01, 2012 Nov 01, 2012

Copy link to clipboard

Copied

First, Miguel, by “ColdFusion on JRun (J2EE install)”, do you really mean you deployed a CF WAR on JRun? Or do you mean you chose the Multiserver form of deployment of CF, which does also deploy CF on JRun (but not as a WAR)? May not be critical, but since you wonder about how unusual your setup may be, it seems worth clarifying.

In fact, you go on to say you wonder if it’s “only an issue because of our setup; different web server (IIS) and application server (ColdFusion)”, but nearly everyone runs CF with a web server separate from CF. You don’t mean the web server is on one box and CF is on another (what has traditionally been called “distributed CF”), do you? If so, that would be unusual, but is indeed still supported (if horribly documented).

Back to the default document, I see you saying you set the default document in IIS, but doesn’t the log suggest it was NOT being passed in from IIS to CF?

Is it possible that you have it set in a web site other than that which this request is going through? If you may say “no”, here’s something else to consider: if this is IIS 7, running in native (not IIS 6 compatibility) mode, did you realize that settings made in IIS are saved to a web.config file in the docroot? I’ve seen people get in trouble when they have 2 sites sharing the same docroot, and someone changes settings in one site, not realizing that that causes changes to the other site (literally, you would see it reflected in the IIS interface). So do check to make absolutely sure that index.cfm is in the docroot (just before you make the test request).

Also, since you mention using rewrite rules, is it not possible that one of those rules is getting in the way? Try disabling that functionality for a moment and retry the test request.

Finally, here’s an outside the box thought: are you absolutely positive that the request you’re making is going through that site? You could have a request being unexpectedly handled by a site other than what you think. It’s possible, but I realize not likely.

Hope that helps some. If not, just say so and perhaps others will have more ideas.

/charlie


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 01, 2012 Nov 01, 2012

Copy link to clipboard

Copied

Charlie Arehart wrote:

First, Miguel, by “ColdFusion on JRun (J2EE install)”, do you really mean you deployed a CF WAR on JRun? Or do you mean you chose the Multiserver form of deployment of CF, which does also deploy CF on JRun (but not as a WAR)? May not be critical, but since you wonder about how unusual your setup may be, it seems worth clarifying.

I mean that I chose the multiserver installation option.

In fact, you go on to say you wonder if it’s “only an issue because of our setup; different web server (IIS) and application server (ColdFusion)”, but nearly everyone runs CF with a web server separate from CF. You don’t mean the web server is on one box and CF is on another (what has traditionally been called “distributed CF”), do you? If so, that would be unusual, but is indeed still supported (if horribly documented).

Yes that is what I mean.  IIS is on one box and CF is on a different box.

Back to the default document, I see you saying you set the default document in IIS, but doesn’t the log suggest it was NOT being passed in from IIS to CF?

The log does suggest that but the setting is made in IIS. I'm not sure what that request looks when it works.  There is also a default document on the CF side (welcome-file-list) which I have also set.


Is it possible that you have it set in a web site other than that which this request is going through? If you may say “no”, here’s something else to consider: if this is IIS 7, running in native (not IIS 6 compatibility) mode, did you realize that settings made in IIS are saved to a web.config file in the docroot?

We are running IIS 7.5 I believe (will check when I get back to office tomorrow).  We are not running IIS 6 compatibility mode.  And yes I am aware of the web.config files and have checked the one for this website (the only website on the server).  It appears to be okay.

I’ve seen people get in trouble when they have 2 sites sharing the same docroot, and someone changes settings in one site, not realizing that that causes changes to the other site (literally, you would see it reflected in the IIS interface). So do check to make absolutely sure that index.cfm is in the docroot (just before you make the test request).

Also, since you mention using rewrite rules, is it not possible that one of those rules is getting in the way? Try disabling that functionality for a moment and retry the test request.

I have disabled the rewrite rules for this test.  With the rewrite rules it works.  It just seems like that should not be necessary.

Finally, here’s an outside the box thought: are you absolutely positive that the request you’re making is going through that site? You could have a request being unexpectedly handled by a site other than what you think. It’s possible, but I realize not likely.

I have verified that the request is hitting the web server and actually hitting the ColdFusion server too.  Those are the log excerpts that I included.

Hope that helps some. If not, just say so and perhaps others will have more ideas.

It does help and makes me verify my thinking/settings. Thanks for the input.

/charlie

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 01, 2012 Nov 01, 2012

Copy link to clipboard

Copied

Thanks for the clarifications, Miguel.

- So to be clear, you don’t want to say you’re doing a “J2EE install”, for future reference. That is very different from multiserver (there are 3 choices on CF install: server, multiserver, and J2EE). I do appreciate that technically the multiserver deployment is an install on a J2EE server (JRun), but then so technically is server (it’s just more hidden). If you were doing that third, WAR/EAR deployment, that would indeed be far less typical than most do.

- As for doing distributed mode, ok that’s interesting. That is also indeed atypical. But I don’t think it should affect this issue. I’ve never done it, though, so I can’t say for sure.

- As for the default document/welcome-file-list in CF, that’s for use with the built-in web server, so should have no bearing in this discussion. (Again, I understand that it would not be clear on the surface)

Now let’s move on to more practical matters:

- You say, “I have disabled the rewrite rules for this test. With the rewrite rules it works. It just seems like that should not be necessary.” Did you really mean to say “without the rewrite rules it works?? If so, then what “should not be necessary”? It would seem the rewrite rules could then explain what’s happening, if they are somehow passing the request on to CF before IIS would detect that it was missing a default document. (You may want to explore the modules/filters/other pages in IIS where there is an option to change the ordering of things. Maybe something is handling the request before the default document processing happens.)

Finally:

- I had asked, “are you absolutely positive that the request you’re making is going through that site”. Your answer to that seemed to suggest you thought I was asking something else. But bottom line, in that you said (earlier in your note) that you have only the one web site, that rules out my point there.

Hope something clicks for you.

/charlie


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 02, 2012 Nov 02, 2012

Copy link to clipboard

Copied

Charlie Arehart wrote:

Thanks for the clarifications, Miguel.

- So to be clear, you don’t want to say you’re doing a “J2EE install”, for future reference. That is very different from multiserver (there are 3 choices on CF install: server, multiserver, and J2EE).  I do appreciate that technically the multiserver deployment is an install on a J2EE server (JRun), but then so technically is server (it’s just more hidden). If you were doing that third, WAR/EAR deployment, that would indeed be far less typical than most do.

Thanks for the clarification Charlie.  Yes, I am running the multiserver configuration on JRun.

Charlie Arehart wrote:

- As for doing distributed mode, ok that’s interesting. That is also indeed atypical. But I don’t think it should affect this issue. I’ve never done it, though, so I can’t say for sure.

Yes, distributed mode is how Adobe references this setup.  I had forgotten about that terminology.

Charlie Arehart wrote:

- As for the default document/welcome-file-list in CF, that’s for use with the built-in web server, so should have no bearing in this discussion. (Again, I understand that it would not be clear on the surface)

Thanks for explaining that to me and that does indeed appear to be the case since this is not working.  I would add however that the web connector's log does show references to the mappings that are also defined in the web.xml file.  So it does appear to reference that file.  The welcome-file-list is also defined in the web.xml file.

Charlie Arehart wrote:

Now let’s move on to more practical matters:

- You say, “I have disabled the rewrite rules for this test.  With the rewrite rules it works.  It just seems like that should not be necessary.” Did you really mean to say “without the rewrite rules it works?? If so, then what “should not be necessary”? It would seem the rewrite rules could then explain what’s happening, if they are somehow passing the request on to CF before IIS would detect that it was missing a default document. (You may want to explore the modules/filters/other pages in IIS where there is an option to change the ordering of things. Maybe something is handling the request before the default document processing happens.)

No, I did mean that I have disabled the rewrite rules and that it does work with the rewrite rules.  Let me explain further.  I have configured a rewrite rule that basically appends 'index.cfm' to the url.  When the 'index.cfm' is specified in the url it works.  What I mean by that should not be necessary is that I don't feel like we should need to configure a rewrite rule to make the default document work.  ColdFusion should work that way out of the box.  And indeed, I have confirmed that if IIS and ColdFusion are on the same server it works without the need for a rewrite rule.  So it seems that there is a difference in the way that the IIS default document works on a single server install versus distributed mode install.  Shouldn't this work in distributed mode too?

Charlie Arehart wrote:

Finally:

- I had asked, “are you absolutely positive that the request you’re making is going through that site”. Your answer to that seemed to suggest you thought I was asking something else. But bottom line, in that you said (earlier in your note) that you have only the one web site, that rules out my point there.

Sorry, yes I thought you were asking if my request was actually hitting the server in question.  This is the only site on the server and I have verified the request is being written to the logfiles for this site as well as the ColdFusion log files.  So the connector is working.  The issue appears to be that ColdFusion is getting the request, without 'index.cfm' but it does not know that it should process the request using the default document.

I added another hack that makes it work but not sure of the ramifications of this change.  I added a ColdFusion mapping, again in web.xml, for '*' (wildcard) to the CFFileServlet.  This makes it work, however, I think this will make ColdFusion attempt to process every request.  Not sure if that is desired?

Thanks again for your insight Charlie!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 02, 2012 Nov 02, 2012

Copy link to clipboard

Copied

Adding some more detail to this:

Here are the contents of the web.config file from the web server for this site:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.webServer>

    <handlers>

        <add name="JWildCardHandler" path="*" verb="*" modules="IsapiModule" scriptProcessor="D:\JRun4\lib\wsconfig\1\jrun_iis6_wildcard.dll" resourceType="Unspecified" requireAccess="None" />

        <add name="hbmxmlHandler" path="*.hbmxml" verb="*" modules="IsapiModule" scriptProcessor="D:\JRun4\lib\wsconfig\jrun_iis6.dll" resourceType="Either" responseBufferLimit="0" />

        <add name="cfswfHandler" path="*.cfswf" verb="*" modules="IsapiModule" scriptProcessor="D:\JRun4\lib\wsconfig\jrun_iis6.dll" resourceType="Either" responseBufferLimit="0" />

        <add name="cfrHandler" path="*.cfr" verb="*" modules="IsapiModule" scriptProcessor="D:\JRun4\lib\wsconfig\jrun_iis6.dll" resourceType="Either" responseBufferLimit="0" />

        <add name="cfcHandler" path="*.cfc" verb="*" modules="IsapiModule" scriptProcessor="D:\JRun4\lib\wsconfig\jrun_iis6.dll" resourceType="Either" responseBufferLimit="0" />

        <add name="cfmlHandler" path="*.cfml" verb="*" modules="IsapiModule" scriptProcessor="D:\JRun4\lib\wsconfig\jrun_iis6.dll" resourceType="Either" responseBufferLimit="0" />

        <add name="cfmHandler" path="*.cfm" verb="*" modules="IsapiModule" scriptProcessor="D:\JRun4\lib\wsconfig\jrun_iis6.dll" resourceType="Either" responseBufferLimit="0" />

        <add name="jwsHandler" path="*.jws" verb="*" modules="IsapiModule" scriptProcessor="D:\JRun4\lib\wsconfig\jrun_iis6.dll" resourceType="Either" responseBufferLimit="0" />

        <add name="jspHandler" path="*.jsp" verb="*" modules="IsapiModule" scriptProcessor="D:\JRun4\lib\wsconfig\jrun_iis6.dll" resourceType="Either" responseBufferLimit="0" />

    </handlers>

    <defaultDocument>

        <files>

            <add value="index.cfm" />

        </files>

    </defaultDocument>

    <staticContent>

        <mimeMap fileExtension=".air" mimeType="application/vnd.adobe.air-application-installer-package zip" />

    </staticContent>

</system.webServer>

</configuration>

Here is the welcome-file-list section from the web.xml file on the ColdFusion server:

<welcome-file-list id="WelcomeFileList_1034546870672">

    <welcome-file>index.cfm</welcome-file>

    <welcome-file>index.html</welcome-file>

    <welcome-file>index.htm</welcome-file>

</welcome-file-list>

Here is the 'wildcard' servlet-mapping that I added to the web.xml file on the ColdFusion server that made it work but what else does it do?

<servlet-mapping id="coldfusion_mapping_20">

          <servlet-name>CfmServlet</servlet-name>

          <url-pattern>*</url-pattern>

</servlet-mapping>

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 02, 2012 Nov 02, 2012

Copy link to clipboard

Copied

Miguel, that web.config definition of the defaultdocument looks ok, of course. But it made me think of a couple of other things:

- first, have you confirmed that a default index.htm file is also found and executed? If you put one in the docroot, and change the iis “default document” settings page for the site so that the index.htm is listed in order above index.cfm? It just seems worth making sure that this is really a CF problem after all. It could instead be IIS not running any at all.

- along those lines, on that “default document” settings page for the site, note in the top right corner there is an “enable” or “disable” link. Does yours say “enable”? If so, the feature is disabled. (Note that I am NOT referring to when you have selected a given default document (whereby you also see “move up” and “move down” options on the right), but rather when you first come into that page.

- also, look in the modules page for the site and confirm that you see a DefaultDocumentModule listed.

Hope that helps.

/charlie


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 03, 2012 Nov 03, 2012

Copy link to clipboard

Copied

Charlie Arehart wrote:

Miguel, that web.config definition of the defaultdocument looks ok, of course. But it made me think of a couple of other things:

- first, have you confirmed that a default index.htm file is also found and executed? If you put one in the docroot, and change the iis “default document” settings page for the site so that the index.htm is listed in order above index.cfm? It just seems worth making sure that this is really a CF problem after all. It could instead be IIS not running any at all.

- along those lines, on that “default document” settings page for the site, note in the top right corner there is an “enable” or “disable” link. Does yours say “enable”? If so, the feature is disabled. (Note that I am NOT referring to when you have selected a given default document (whereby you also see “move up” and “move down” options on the right), but rather when you first come into that page.

- also, look in the modules page for the site and confirm that you see a DefaultDocumentModule listed.

Hope that helps.

/charlie

Charlie, thanks so much for your insight again.  I will verify these settings when I get back to work on Monday.  There is one other thing that I witnessed in the log files yesterday.  I have enabled verbose logging for the web connector.  I ran a request through this server without specifying "index.cfm" in the URL.  I could see in the web connector logfile that the request came in as "/" and was passed to ColdFusion.  ColdFusion then responded with "no match found" and returned a 404.  I tried the same thing on a server that is NOT running distributed mode (IIS and CF on same server).  Again I saw the request was passed to ColdFusion as "/" and ColdFusion responded with "no match found".  However, right after that subsequent request was made to ColdFusion as "/index.cfm" and of course that matched the "*.cfm" mapping and it worked.  I don't know where that additional index.cfm request came from; IIS or CF?  If that same thing would happen on the distributed server setup then it would work as well.  In fact that is what I am doing with the URL Rewrite but I shouldn't need to.

I will dig into this further on Monday.  Again, thank you for your help.  I will report back.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 03, 2012 Nov 03, 2012

Copy link to clipboard

Copied

Well, without studying things more I’m just speculating, but it seems to suggest that it’s just not doing the default document at all, so checking into those settings on Monday may be the answer, but maybe not. Looking forward to seeing what you find.

/charlie


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 05, 2012 Nov 05, 2012

Copy link to clipboard

Copied

Charlie Arehart wrote:

Miguel, that web.config definition of the defaultdocument looks ok, of course. But it made me think of a couple of other things:

- first, have you confirmed that a default index.htm file is also found and executed? If you put one in the docroot, and change the iis “default document” settings page for the site so that the index.htm is listed in order above index.cfm? It just seems worth making sure that this is really a CF problem after all. It could instead be IIS not running any at all.

I changed the order of the default document in IIS and placed an index.htm in the webroot on the IIS server and in the WAR on the CF server and in a copy of the IIS server's directory structure on the CF server.  When I made the request the index.htm file from the IIS server was displayed.  I checked the web connector's log file and it shows the initial request as "/" and then CF returning no match found but then I see that subsequent request for "/index.htm" and it returns a 200.  Why isn't it doing that for "index.cfm" files???????

Charlie Arehart wrote:

- along those lines, on that “default document” settings page for the site, note in the top right corner there is an “enable” or “disable” link. Does yours say “enable”? If so, the feature is disabled. (Note that I am NOT referring to when you have selected a given default document (whereby you also see “move up” and “move down” options on the right), but rather when you first come into that page.

I verified on the default document settings page that the option is enabled.  It shows the  "Disable" link.

Charlie Arehart wrote:

- also, look in the modules page for the site and confirm that you see a DefaultDocumentModule listed.

I have confirmed that the modules page does have the DefaultDocumentModule listed as well.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 05, 2012 Nov 05, 2012

Copy link to clipboard

Copied

WOW!  May have just discovered the issue although I don't recall having to do this in the past.  Based on the behavior I saw with the "index.htm" page I created an empty "index.cfm" page on the IIS server.  Now it appears to be working. Checking the web connector's log file I see the initial request for "/" and no match found but then it is requesting "/index.cfm" and it is working.  DOH!!!!

I remember reading on the distributed mode setup that the ColdFusion files must reside on the web server and the CF server but I swear I have set this up before without doing so.  So the whole problem may be that I did not have the ColdFusion files (even empty stub files seem to work) on the web server.

Can anyone confirm that this is required to run in distributed mode? 

I will continue testing to see what I can find.  Charlie thanks so much for your persistence on this!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 05, 2012 Nov 05, 2012

Copy link to clipboard

Copied

Good to hear you may be on the trail. I don’t have any machine set with “distributed CF” setup to test things, but perhaps others will.

/charlie


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 05, 2012 Nov 05, 2012

Copy link to clipboard

Copied

Well I have re-read the VERY OLD distributed mode setup documentation http://www.adobe.com/support/coldfusion/administration/cfmx_in_distributed_mode/cfmx_in_distributed_...

It does not state that the files need to reside on both servers but only that the directory structure needs to be the same (see the note at the bottom of that page).

Another note: during all of this I have also added a ColdFusion mapping for "/" pointing to the web root on the CF server.  Is this good/bad?  This also came from that OLD setup page (step number 9).

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 05, 2012 Nov 05, 2012

Copy link to clipboard

Copied

I was able to remove the "/" mapping that we added in the ColdFusion administrator.  After doing so the page returned an access denied error attempting to read from the default "CustomTags" directory.  I added access to that directory in our ColdFusion sandbox and it is working again.

I just seem to recall that having a mapping for "/" was a bad idea or at least was not necessary anymore.  So far it appears to be working without it.  More testing...

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 05, 2012 Nov 05, 2012

Copy link to clipboard

Copied

Hey Miguel, just one quick observation: the CF Admin mappings have absolutely no connection at all to processing of URLs against CF. That is entirely down to mappings in the web server, The CF admin mappings are only used for file references within CFML, generally by things like cfinclude, or invocation of CFCs with cfinvoke/cfobject/createobject, and so on.

So I’d be very surprised if there’s any connection with your problems and the mappings. Indeed, I’d think any such impact would reflect more a problem of failures of CFML processing, rather than failures in communication between the web server and CF. Hope that helps.

BTW, I’ve put word out to see if some other folks interested in this topic (of “distributed mode”) might be able to take a few minutes to chime in if they may help.

/charlie


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 05, 2012 Nov 05, 2012

Copy link to clipboard

Copied

Yes Charlie, agreed!  I don't believe the ColdFusion mapping had anything to do with our original issue but just trying to document everything I have been doing with this in case anyone else finds this post when trying to get distributed mode working. 

The limited documentation that there is on setting up distributed mode states that you need that "/" mapping when in fact it appears that you do not.  However, as I stated, since we are running sandbox security I did have to include read/execute access to the default CustomTags directory to get passed the subsequent error.

I know that Adobe support sometimes chimes in on these discussions and I was hoping that they would in this case, but not yet.  I would just like to add that running ColdFusion in distributed mode is still included with the ColdFusion documentation and is also suggested if you follow the ColdFusion 9 lock down guide (which I did).  So even though I know that the online ColdFusion documentation just seems to keep moving forward from version to version I assume this setup is still supported.  Right Adobe?

Link to CF 9 lockdown guide: http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/products/coldfusion/pdfs/91025512-cf9-...

Link to CF 9 installation document stating that the CF server need not reside on the web server (among other references): http://help.adobe.com/en_US/ColdFusion/9.0/Admin/WSc3ff6d0ea77859461172e0811cbf363a5d-7ffc.html

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 05, 2012 Nov 05, 2012

Copy link to clipboard

Copied

Miguel, a few more thoughts.

First, about your last paragraph, that page you point to in the manual does not discuss distributed mode. Did you mean another page? If you are referring to its point 9, that’s not about distributed mode, either. That’s about the fact that even once you configure CF to use an external web server, it still does refer to the webroot for CF’s internal web server when processing CFM pages (a surprise for many) and it’s referring to how it does NOT do that for static pages (once you stop using the built-in web server, which is what the page is about: switching from the internal to an external web server.)

As for the CF docs still discussing distributed mode, I’ll argue that in fact they do not. I was discussing this in fact with Adobe (and some other folks, including Steven Erat), where I noted that the CF install manual (9 and 10) says "For more information on the Web Server Configuration Tool, including information on multihoming and distributed usage, see the Configuring and Administering ColdFusion guide." But then that manual (in 9 and 10) makes no reference to "distributed" at all, though it does have a section on "multhoming" (but it makes no mention of running CF and the web server on different boxes).

It really feels like the reference was dropped at some point. Steven concurred and we hoped that someone from Adobe might pick up that ball and run with it. (Steven no longer works on the CF team, though he is back to working at Adobe.)

Finally, about the lockdown guide, I wouldn’t say it “recommends distributed mode”. It mentions it as “something you might also consider”. But it too points just to those old CFMX-era technotes.

Steven had also agreed that much more updated info would be beneficial, and he was thinking of doing more on that (whether on his own blog or perhaps as a contribution to the CF docs.) I’ve not heard more about that for a while, though. I look forward to whatever he may do. HE’s a really valuable resource for the CF community.

And again, I’ve asked him if he might be able to chime in here at some point.

/charlie


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 05, 2012 Nov 05, 2012

Copy link to clipboard

Copied

Charlie Arehart wrote:

Miguel, a few more thoughts.

First, about your last paragraph, that page you point to in the manual does not discuss distributed mode. Did you mean another page? If you are referring to its point 9, that’s not about distributed mode, either. That’s about the fact that even once you configure CF to use an external web server, it still does refer to the webroot for CF’s internal web server when processing CFM pages (a surprise for many) and it’s referring to how it does NOT do that for static pages (once you stop using the built-in web server, which is what the page is about: switching from the internal to an external web server.)

I was actually referring to the Note under point 6.

"Note: The server or cluster does not have to reside on the web server computer. In this case, enter the IP address or server name of the remote computer in the JRun Host field."

I realize it does not say "distributed mode" but isn't this what that note is referring to?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 05, 2012 Nov 05, 2012

Copy link to clipboard

Copied

Ah, ok, it may. I was indeed looking for that phrase, and in not finding it, read the page but missed that point.

Again, I don’t have any experience with DM to be able to say if that’s referring to that. Sounds like it. You have more experience on that than me. Would you say so?

/charlie


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 05, 2012 Nov 05, 2012

Copy link to clipboard

Copied

Ha!  That's a good one   Well I am definitely learning more about it - again.  That's the "funny" thing.  I have been working with ColdFusion since version 4.5 and have actually run in distributed mode on probably all of the "MX" versions at one point or another  (except CF 10, haven't gone there yet).  I don't ever recall having this issue before so I'm pretty sure it has something to do with our setup/configuration.  (Although my memory isn't as good as it used to be) 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Dec 25, 2017 Dec 25, 2017

Copy link to clipboard

Copied

I know this is an old thread but wondering if anybody can point me in the right direction as I have the same problem but in a single server setup

I did have CF8 on the server (Win server 2008 R2 - IIS7.5), working perfectly. I uninstalled it, dropped CF2016 on there, and now I'm getting 404 errors on the CFM pages. On one domain I can type index.cfm in manually and the page comes up but for others it won't.

Aside from the advise to not do this on Xmas day when any chance of support is almost nil, does anybody have any ideas?

Thanks

Mark

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Dec 25, 2017 Dec 25, 2017

Copy link to clipboard

Copied

There are several things that hook IIS to CF, all wrapped up in the connector configuration. The easiest way to resolve this in most cases is just to uninstall and reinstall the connector for the IIS virtual server in question. If that's not going to be an option, check the following places in the IIS Management Console. Let's say you have four IIS virtual servers. You should see the following values:

ISAPI Filters - look at tomcat entry, and make sure it points to D:\ColdFusion11\config\wsconfig\4\isapi_redirect.dll.

Handler Mappings - look at all CF resources, but especially cfmHandler. Make sure it points to D:\ColdFusion11\config\wsconfig\4\isapi_redirect.dll.

jakarta virtual directory - make sure it exists, and points to D:\ColdFusion11\config\wsconfig\4

It is possible, though unlikely, for these to not point to the same place. When that happens, I've seen cases where you get 404 errors for default documents.

Dave Watts, CTO, Fig Leaf Software

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Dec 25, 2017 Dec 25, 2017

Copy link to clipboard

Copied

Hi Dave,

Thanks for the input. Unfortunately I'm not server guru, I was thrown into it years ago and so I have to find my way through this.

I've uninstalled and reinstalled CF 3 times to try a few tiny changes with no luck. On the last one I noticed that the default web site was still the default for IIS but I was using a different directory, I set that to my actual root and reinstall, but no luck.

I'm not sure how I would uninstall and reinstall the connectors

Looking at the default web site, the ISAPI filters are set to C:\ColdFusion11\config\wsconfig\4\isapi_redirect.dll.This is also there for my other domains.

Handler mappings are set to C:\ColdFusion2016\config\wsconfig\1\isapi_redirect.dll although I don't see these in the individual sites settings.

I'm unsure where I'd look for that virtual directory.

Regards

Mark

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Dec 25, 2017 Dec 25, 2017

Copy link to clipboard

Copied

I found the virtual directory and it's there (check a particular domain)

Btw The links I posted above were copies from your post, I actually have ColdFusion2016 so it's not a CF11 directory, but either way, they are there

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation