2012-11-01 246 views
0

上的JRun運行ColdFusion 9,0,1,274733(J2EE安裝),在Windows Server 2008 R2,爪哇1.6.0_22默認文檔URL

任何人都有一個問題,得到默認文檔,index.cfm,與ColdFusion一起使用?我假設這只是一個問題,因爲我們的設置;不同的Web服務器(IIS)和應用程序服務器(ColdFusion)。我無法想象我們是唯一運行此配置的人。我們?

所以這是問題所在。
如果我們要求http://mysite.com/index.cfm它的作品。
如果我們要求http://mysite.com/它不工作,我們得到一個404

我檢查我們的IIS服務器上的Web連接器的日誌文件,可以看到它是將請求發送到我們的ColdFusion服務器。 ColdFusion服務器正在發回404錯誤代碼,但我無法弄清楚原因。我們在我們的IIS服務器上爲index.cfm設置了默認文檔。我們還將<welcome-file-list>設置爲在我們的應用程序服務器(web.xml)上包含index.cfm

從我們的Web連接器的日誌,當我們不包括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/. 

從我們的Web連接器的日誌當我們做包括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 ... 

我們解決此得到通過使用IIS中的URL重寫模塊將URL添加index.cfm問題。它的作品,但我的直覺告訴我,我們不應該這樣做的基本功能。

其他人有這個問題嗎?你怎麼解決這個問題?

編輯添加一些更多的信息

下面是從IIS服務器我的網站的web.config文件的內容:

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

下面是一些從APP服務器的web.xml文件內容:

<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> 
+0

還有一些說明,Adobe關於此設置的術語是「分佈式模式」。當有一個Web服務器和另一個不同的ColdFusion服務器時。 –

+0

我不確定人們爲什麼會對這個問題投下一票,特別是在這段時間之後。你能否發表評論,說明你爲什麼倒計票? –

回答

0

我也在Adobe論壇上發佈了這個問題,並在那裏獲得了更多的關注。 You can read all of the details here.

這似乎是我遇到的主要問題是IIS一旦確定ColdFusion沒有映射'/',IIS就不會向Web連接器傳遞'/index.cfm'。我在Web服務器上創建了一個空白的(空的)index.cfm文件後開始工作。我不記得在過去使用分佈式模式時必須將CFM文件放置在Web服務器上。任何人都可以確認或否認CFM文件需要駐留在兩臺服務器上才能工作(無需使用重寫規則)?

1

在IIS管理器中,嘗試爲您的網站添加默認文檔「index.cfm」。

+0

感謝您的回答。我已經做到了。其實,網絡連接器工具爲你做到了這一點,但我已經證實它存在於我的網站。但我注意到,通過網絡連接器的請求沒有'index.cfm'追加到它。我不確定這是否應該如何工作。我認爲web.xml的'welcome-file-list'在那時會接管,但看起來並不如此。 –

0

我對這次的派對有點遲,但我一直在研究一個系統,我需要在相同的開發服務器上頻繁切換CF8 & CF10,所以我一直在努力批處理文件運行wsconfig保存自己的一些努力,我遇到了同樣的問題。 CF工作正常,但從來沒有處理index.cfm爲/ - 如上所述,所有的映射似乎設置正確。

我發現,如果你添加的每個部位我的名字,而不是使用WSCONFIG工作更加可靠「上門0」

因此,例如,手動刪除並重新安裝兩個站點連接器上IIS

運行
set CFUSION_HOME=C:\ColdFusion10\cfusion 
%CFUSION_HOME%\runtime\bin\wsconfig -uninstall 
net start "ColdFusion 10 Application Server" 
%CFUSION_HOME%\runtime\bin\wsconfig -ws IIS -site "Default Web Site" 
%CFUSION_HOME%\runtime\bin\wsconfig -ws IIS -site "My Website Name"