2010-07-23 2 views
4

J'ai besoin de soumettre des données à un autre nom d'hôte et espérais d'utiliser le guide de proxy inverse trouvé ici pour IIS 7,5La combinaison de ASP.NET MVC et Reverse Proxy avec l'URL Rewrite v2

http://learn.iis.net/page.aspx/659/reverse-proxy-with-url-rewrite-v2-and-application-request-routing/

J'ai ajouté le code suivant à mon entrée system.webServer dans le web.config site racine

<system.webServer> 
     <urlCompression doStaticCompression="true" doDynamicCompression="true" /> 
     <staticContent> 
      <remove fileExtension=".js" /> 
      <mimeMap fileExtension=".js" mimeType="text/javascript" /> 
     </staticContent> 
     <validation validateIntegratedModeConfiguration="false" /> 
     <modules runAllManagedModulesForAllRequests="true"> 
      <remove name="ScriptModule" /> 
      <remove name="UrlRoutingModule" /> 
      <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     </modules> 
     <handlers> 
      <remove name="WebServiceHandlerFactory-Integrated" /> 
      <remove name="ScriptHandlerFactory" /> 
      <remove name="ScriptHandlerFactoryAppServices" /> 
      <remove name="ScriptResource" /> 
      <remove name="MvcHttpHandler" /> 
      <remove name="UrlRoutingHandler" /> 
      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      <add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      <add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
      <add name="AssetHandler" preCondition="integratedMode" verb="GET,HEAD" path="asset.axd" type="Telerik.Web.Mvc.WebAssetHttpHandler, Telerik.Web.Mvc"/> 
      <add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/> 
     </handlers> 
     <rewrite> 
     <rules> 
      <rule name="Reverse Proxy to spellchecker" stopProcessing="true"> 
      <match url="^spellchecker/(.*)" /> 
      <action type="Rewrite" url="http://spellcheck001.XXX.yyy/{R:1}" logRewrittenUrl="true" /> 
      </rule> 
     </rules> 
     </rewrite> 
    </system.webServer> 

Pouvez-vous pas combiner intégré dans le module de réécriture avec MVC? J'ai essayé google et n'ai trouvé aucune réponse simple. Si j'essaie d'accéder à une URL dans le chemin d'orthographe, je reçois une réponse 404.

+0

Avez-vous essayé d'activer le suivi des demandes ayant échoué et de voir quel est le problème, vous devriez être en mesure de voir si la réécriture est arrivé et qui configure le 404: http://learn.iis.net/page.aspx/467/ using-failed-request-traçage-to-trace-rewrite-rules/ –

Répondre

0

J'ai eu le même problème et je n'ai pas trouvé de solution. A la fin j'ai utilisé http://urlrewriter.codeplex.com. Ce module gère une charge assez élevée sur notre serveur et nous n'avons encore eu aucun problème avec celui-ci.

+0

Cela a fonctionné parfaitement et a été facile à déposer, merci pour le pourboire! – thejayjay

Questions connexes