尝试通过IIS 7.5反向代理login到Redmine时出错

我正在尝试将Redmine设置为我们部门Intranet站点的子目录,并将其重新命名为使用IIS的URL Rewrite扩展名的“Workflow”。

我有“工作”,因为它将提供URL和HTML代码中所有正确的重写页面。 但是,当我尝试提交表单(包括login到redmine)时,IIS给我以下错误之一:

Your browser sent a request that this server could not understand.

要么

The specified CGI application encountered an error and the server terminated the process.

这是设置:

  • 使用Bitnami all-in-one安装程序安装在本地Windows XP计算机上的Redmine包括:
    • Apache 2
    • 的Ruby-on-Rails的
    • MySQL的
    • pipe理平台
  • Redmine在本地运行http:/ localhost / redmine
  • Redmine通过Intranet http:/146.18.236.xxx/redmine运行
  • Windows Server + IIS 7.5提供ASP.NET Intranet Web应用程序mydept.mycompany.com
  • IIS扩展Url重写和AAR安装
  • IIS的反向代理设置(如下所示)在mydept.mycompany.com/workflow上为Redmine提供服务

 <rewrite> <rules> <rule name="Route requests for workflow to redmine server" stopProcessing="true"> <match url="^workflow/?(.*)" /> <conditions> <add input="{CACHE_URL}" pattern="^(https?)://" /> </conditions> <action type="Rewrite" url="{C:1}://146.18.236.xxx/redmine/{R:1}" logRewrittenUrl="true" /> <serverVariables> <set name="HTTP_ACCEPT_ENCODING" value="" /> <set name="ORIGINAL_HOST" value="{HTTP_HOST}" /> </serverVariables> </rule> </rules> <outboundRules rewriteBeforeCache="true"> <clear /> <preConditions> <preCondition name="isHTML" logicalGrouping="MatchAny"> <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" /> <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/plain" /> <add input="{RESPONSE_CONTENT_TYPE}" pattern="^application/.*xml" /> </preCondition> <preCondition name="isRedirection"> <add input="{RESPONSE_STATUS}" pattern="3\d\d" /> </preCondition> </preConditions> <rule name="Rewrite outbound relative URLs in tags" preCondition="isHTML"> <match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" pattern="^/redmine/(.*)" /> <action type="Rewrite" value="/workflow/{R:1}" /> </rule> <rule name="Rewrite outbound absolute URLs in tags" preCondition="isHTML"> <match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" pattern="^(https?)://146.18.236.xxx/redmine/(.*)" /> <action type="Rewrite" value="{R:1}://mydept.mycompany.com/workflow/{R:2}" /> </rule> <rule name="Rewrite tags with hypenated properties missed by IIS bug" preCondition="isHTML"> <!-- http://forums.iis.net/t/1200916.aspx --> <match filterByTags="None" customTags="" pattern="(\baction=&quot;|\bsrc=&quot;|\bhref=&quot;)/redmine/(.*?)(&quot;)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="true" /> <action type="Rewrite" value="{R:1}/workflow/{R:2}{R:3}" /> </rule> <rule name="Rewrite Location Header" preCondition="isRedirection"> <match serverVariable="RESPONSE_LOCATION" pattern="^http://[^/]+/(.*)" /> <conditions> <add input="{ORIGINAL_URL}" pattern=".+" /> <add input="{URL}" pattern="^/(workflow|redmine)/.*" /> </conditions> <action type="Rewrite" value="http://{ORIGINAL_URL}/{C:1}/{R:1}" /> </rule> </outboundRules> </rewrite> <urlCompression dynamicCompressionBeforeCache="false" /> 

任何帮助,你可以提供将不胜感激。 我觉得我很接近,这只是一个小小的设置,但我似乎无法使它工作。

我意识到它可能会有点晚,但你有没有检查框“附加查询string”入站规则在IISpipe理器? 我有很多奇怪的问题,直到我意识到我已经取消了这个框(根据一些博客的build议)。 检查它似乎为我排除了事情(在configuration为反向代理的IIS 7后面运行Redmine 2.3.3)。