2017-03-04 7 views
0

IIS8を使用して、ポート80/443から同じサーバー上で実行されている2つのアプリケーション(ポート8080(node.jsアプリ) )、別のポート8090(同じIIS上で実行されている.NETアプリケーション、api呼び出しを処理する)IISがローカルアプリケーションにリライト - 404で失敗する

私はセットアップには、以下のweb.config

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
       <rules> 
       <rule name="rewrite api to backend calls" stopProcessing="true"> 
        <match url="^api/(.+)$"/> 
        <action type="Rewrite" url="http://127.0.0.1:8080/{R:1}"/> 
       </rule> 
       <rule name="rewrite everything else to frontend" stopProcessing="true"> 
        <match url="(.*)" /> 
        <action type="Rewrite" url="http://127.0.0.1:8090/{R:1}"/> 
       </rule>    
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

とポート80上のアプリ、残念ながら、このアプローチは動作しませんしている - 私はクエリを実行しようとするものは何でもリソース、私は404エラーを取得します。 FREBのログで

は、要求が適切にOldUrlから翻訳され、アプリケーション要求ルーティングでのプロキシをしなければならなかったNEWURLに、何もキャッシュ内で見つからなかったし、次はMODULE_SET_RESPONSE_ERROR_STATUS

ModuleName="IIS Web Core", Notification="MAP_REQUEST_HANDLER", HttpStatus="404", HttpReason="Not Found", HttpSubStatus="4", ErrorCode="The filename, directory name, or volume label syntax is incorrect. 
(0x8007007b)", ConfigExceptionInfo="" 

答えて

関連する問題