23 Replies Latest reply: Nov 5, 2012 12:46 PM by Miguel-F RSS

    Default document not being processed when not included in URL

    Miguel-F Community Member

      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?

        • 1. Re: Default document not being processed when not included in URL
          WolfShade Community Member

          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. 

          ^_^

          • 2. Re: Default document not being processed when not included in URL
            charlie@carehart.org Community Member

            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

            • 3. Re: Default document not being processed when not included in URL
              Miguel-F Community Member

              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

              • 4. Re: Default document not being processed when not included in URL
                charlie@carehart.org Community Member

                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

                • 5. Re: Default document not being processed when not included in URL
                  Miguel-F Community Member

                  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!

                  • 6. Re: Default document not being processed when not included in URL
                    Miguel-F Community Member

                    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>

                    • 7. Re: Default document not being processed when not included in URL
                      charlie@carehart.org Community Member

                      Yep, the external web server connector would indeed refer to the web.xml. It looks at its indications for which file extensions CF should use.

                       

                      (CF Bar bet: many people think it’s the handler mappings in IIS that control what extensions are passed to CF, but that’s not so. Indeed, those are really more a “vestigial tail” in the body of CF, leftover from the way that things used to be done in IIS 5, before IIS6 added the “wildcard mapping” feature, so that technically now all requests for all extensions are indeed passed to the web server connector, and it checks to see what extensions CF says it wants to handle.)

                       

                      As for your observation that you need the rewrite rule, ok. But I’m asking: what if you disable all IIS rewrite rules? I just wonder if perhaps some other one you have may be getting in the way here. If you’re saying you’ve done that, and that the ONLY difference between this server and the one where you are not using distributed mode, then I agree it would seem that’s the cause. I just have no experience to say, but I will say that I’ve also not heard that ever reported as a “problem” with distributed mode.

                       

                      Finally, as for your last point, that is interesting, and yes, as discussed above (which I wrote before I got to the bottom of your note), that would indeed cause CF to try to process all file extensions, which you would not want. But it begs a question: why would adding THAT make things now suddenly work? If the default document is passing in index.cfm, it should be handled by the existing web.xml declaration for *.cfm.

                       

                      So something definitely seems very odd with your setup. Since I have no experience with distributed mode, I think I will have to bow out as I have nothing more to add. Let’s hope that perhaps Steven Erat (who frequents this forum and does have lots of experience with distributed mode) might chime in eventually for you.

                       

                      /charlie

                      • 8. Re: Default document not being processed when not included in URL
                        charlie@carehart.org Community Member

                        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

                        • 9. Re: Default document not being processed when not included in URL
                          Miguel-F Community Member

                          Charlie Arehart wrote:

                           

                          Yep, the external web server connector would indeed refer to the web.xml. It looks at its indications for which file extensions CF should use.

                           

                          (CF Bar bet: many people think it’s the handler mappings in IIS that control what extensions are passed to CF, but that’s not so. Indeed, those are really more a “vestigial tail” in the body of CF, leftover from the way that things used to be done in IIS 5, before IIS6 added the “wildcard mapping” feature, so that technically now all requests for all extensions are indeed passed to the web server connector, and it checks to see what extensions CF says it wants to handle.)

                           

                          It's interesting that you mention this because I did believe that it was IIS passing the extensions to CF.  I did notice something in IIS however that seems to correlate with what you are saying.  In IIS if you look at the Handler Mappings in the "ordered list" view, the wildcard mapping is indeed listed first.  Above *.cfm and the others.  If that is the case then it seems that would cause ALL requests to be passed to the connector.  Which is what you are saying.  I have also seen this in the web connector's log file.  Very interesting indeed.

                           

                           

                          Charlie Arehart wrote:

                           

                          As for your observation that you need the rewrite rule, ok. But I’m asking: what if you disable all IIS rewrite rules? I just wonder if perhaps some other one you have may be getting in the way here. If you’re saying you’ve done that, and that the ONLY difference between this server and the one where you are not using distributed mode, then I agree it would seem that’s the cause. I just have no experience to say, but I will say that I’ve also not heard that ever reported as a “problem” with distributed mode.

                          I am only running the one rewrite rule, so all of them have been disabled.  The only reason I am using url rewrite is to try and get this working.  And I also agree with you that I have not heard nor have I found anyone else reporting this problem with running in distributed mode.  Although everything I am finding about distributed mode seems to be from years ago.  I have another thought that perhaps Windows 2008's enhanced security settings may be playing a part in this.  I mean that Windows 2008 comes with more security and more things disabled than Windows 2003 did.  Maybe that is playing a role here????

                           

                           

                          Charlie Arehart wrote:

                           

                          Finally, as for your last point, that is interesting, and yes, as discussed above (which I wrote before I got to the bottom of your note), that would indeed cause CF to try to process all file extensions, which you would not want. But it begs a question: why would adding THAT make things now suddenly work? If the default document is passing in index.cfm, it should be handled by the existing web.xml declaration for *.cfm.

                           

                          So something definitely seems very odd with your setup. Since I have no experience with distributed mode, I think I will have to bow out as I have nothing more to add. Let’s hope that perhaps Steven Erat (who frequents this forum and does have lots of experience with distributed mode) might chime in eventually for you.

                          Well I'm assuming that wildcard mapping that I added made it work because CF now told the connector that it would indeed handle the file.  I mapped the wildcard to the CfmServlet which made it process like a ColdFusion template which made it work.  But it would not work for non-coldfusion file types.

                           

                          All of this keeps bringing me back to my initial concern (and you mentioned this as well), non of this should be necessary and ColdFusion should work with the default document out of the box.  I'm afraid there is something wrong with my setup.

                          • 10. Re: Default document not being processed when not included in URL
                            Miguel-F Community Member

                            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.

                            • 11. Re: Default document not being processed when not included in URL
                              charlie@carehart.org Community Member

                              Yep, good point on a possible implication of Win2k8’s tighter security.

                               

                              /charlie

                              • 12. Re: Default document not being processed when not included in URL
                                charlie@carehart.org Community Member

                                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

                                • 13. Re: Default document not being processed when not included in URL
                                  Miguel-F Community Member

                                  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.

                                  • 14. Re: Default document not being processed when not included in URL
                                    Miguel-F Community Member

                                    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!

                                    • 15. Re: Default document not being processed when not included in URL
                                      charlie@carehart.org Community Member

                                      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

                                      • 16. Re: Default document not being processed when not included in URL
                                        Miguel-F Community Member

                                        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_di stributed_mode02.html

                                         

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

                                        • 17. Re: Default document not being processed when not included in URL
                                          Miguel-F Community Member

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

                                          • 18. Re: Default document not being processed when not included in URL
                                            charlie@carehart.org Community Member

                                            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

                                            • 19. Re: Default document not being processed when not included in URL
                                              Miguel-F Community Member

                                              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/910 25512-cf9-lockdownguide-wp-ue.pdf

                                               

                                              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

                                              • 20. Re: Default document not being processed when not included in URL
                                                charlie@carehart.org Community Member

                                                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

                                                • 21. Re: Default document not being processed when not included in URL
                                                  Miguel-F Community Member

                                                  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?

                                                  • 22. Re: Default document not being processed when not included in URL
                                                    charlie@carehart.org Community Member

                                                    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

                                                    • 23. Re: Default document not being processed when not included in URL
                                                      Miguel-F Community Member

                                                      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)