2012-07-16 2 views
3

ColdBox을 사용하여 사이트를 구축했으며 URL에서 /index.cfm/을 제거하려고합니다. 아래의 web.config 파일을 사용하는 IIS7에서 ColdFusion 9를 실행하면 좋지만 CF10/IIS7.5에서는 작동하지 않습니다. 다시 쓰기 모듈이 설치되고 index.cfm이 포함 된 SES URL (예 : index.cfm/product/1)이 정상적으로 작동합니다. CF10이 이제 JRun 대신 Tomcat에서 실행된다는 것을 알았습니다. Tomcat은 SES URL을 지원하지 않지만 Tomcat은 SES URL을 지원하지 않습니다.하지만 CF 팀이 명시 적으로 지원을 추가했습니다. 실제로 web.xml 파일을 확인하면 사실이게 ColdBox 특정 문제라고 생각하지는 않지만 CF10/Tomcat과 IIS7.5 사이의 문제입니다.IIS 7.5 및 ColdFusion 10의 SES 문제

참고 : 웹 서버에 직접 액세스 할 수는 없지만 호스팅 제공 업체와 협력하고 있습니다. 나는 또한 상상력의 모든 스트레칭으로 IIS 프로 아니에요. 나는 그것이 그렇지 않으면 ;-)

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<system.webServer> 
    <defaultDocument> 
     <files> 
      <clear /> 
      <add value="index.cfm" /> 
      <add value="Default.htm" /> 
      <add value="Default.asp" /> 
      <add value="index.htm" /> 
      <add value="index.html" /> 
      <add value="iisstart.htm" /> 
      <add value="default.aspx" /> 
     </files> 
    </defaultDocument> 
    <rewrite> 
     <rules> 
      <rule name="SQL Injection - EXEC" stopProcessing="true"> 
       <match url="^.*EXEC\(@.*$" /> 
       <action type="CustomResponse" url="/includes/templates/404.html" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" /> 
      </rule> 
      <rule name="SQL Injection - CAST" stopProcessing="true"> 
       <match url="^.*CAST\(.*$" /> 
       <action type="CustomResponse" url="/includes/templates/404.html" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" /> 
      </rule> 
      <rule name="SQL Injection - DECLARE" stopProcessing="true"> 
       <match url="^.*DECLARE.*$" /> 
       <action type="CustomResponse" url="/includes/templates/404.html" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" /> 
      </rule> 
      <rule name="SQL Injection - DECLARE%20" stopProcessing="true"> 
       <match url="^.*DECLARE%20.*$" /> 
       <action type="CustomResponse" url="/includes/templates/404.html" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" /> 
      </rule> 
      <rule name="SQL Injection - NVARCHAR" stopProcessing="true"> 
       <match url="^.*NVARCHAR.*$" /> 
       <action type="CustomResponse" url="/includes/templates/404.html" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" /> 
      </rule> 
      <rule name="SQL Injection - sp_password" stopProcessing="true"> 
       <match url="^.*sp_password.*$" /> 
       <action type="CustomResponse" url="/includes/templates/404.html" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" /> 
      </rule> 
      <rule name="SQL Injection - xp" stopProcessing="true"> 
       <match url="^.*%20xp_.*$" /> 
       <action type="CustomResponse" url="/includes/templates/404.html" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" /> 
      </rule> 
      <rule name="Application Adminsitration" stopProcessing="true"> 
       <match url="^(.*)$" /> 
       <conditions logicalGrouping="MatchAll"> 
        <add input="{SCRIPT_NAME}" pattern="^/(.*(CFIDE|cfide|CFFormGateway|jrunscripts|railo-context|fckeditor)).*$" ignoreCase="false" /> 
       </conditions> 
       <action type="None" /> 
      </rule> 
      <rule name="Flash and Flex Communication" stopProcessing="true"> 
       <match url="^(.*)$" ignoreCase="false" /> 
       <conditions logicalGrouping="MatchAll"> 
        <add input="{SCRIPT_NAME}" pattern="^/(.*(flashservices|flex2gateway|flex-remoting)).*$" ignoreCase="false" /> 
       </conditions> 
       <action type="Rewrite" url="index.cfm/{PATH_INFO}" appendQueryString="true" /> 
      </rule> 
      <rule name="Static Files" stopProcessing="true"> 
       <match url="^(.*)$" /> 
       <conditions logicalGrouping="MatchAll"> 
        <add input="{SCRIPT_NAME}" pattern="\.(bmp|gif|jpe?g|png|css|js|txt|pdf|doc|xls)$" ignoreCase="false" /> 
       </conditions> 
       <action type="None" /> 
      </rule> 
      <rule name="RESTful Applications (not working yet)" stopProcessing="true"> 
       <match url="^(.*)$" /> 
       <conditions logicalGrouping="MatchAll"> 
        <add input="{SCRIPT_NAME}" pattern="^/(.*(rest)).*$" ignoreCase="false" /> 
       </conditions> 
       <action type="None" /> 
      </rule> 
      <rule name="Insert index.cfm" stopProcessing="true"> 
       <match url="^(.*)$" ignoreCase="false" /> 
       <conditions logicalGrouping="MatchAll"> 
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
       </conditions> 
       <action type="Rewrite" url="index.cfm/{PATH_INFO}" appendQueryString="true" /> 
      </rule> 
     </rules> 
    </rewrite> 
</system.webServer> 
</configuration> 

답변

1

있었다 나는 주위 유일한 작업은 헬리의 같은 다른 URL의 라이터를 설치하는 것이었다 발견 할 날 믿어, - 그리고 마지막으로, 아니, 아파치를 선택할 수 없습니다.

하지만 이번 주말에 릴리스 된 10.0.1 업데이트에서 수정되었습니다! http://blogs.coldfusion.com/post.cfm/coldfusion-10-update-1-10-0-1-released