2017-07-20 36 views
5

私のWeb APIはいくつかのIISで動作していました。Azure VMに移動すると、net :: ERR_CONNECTION_RESETを返します。My web apiはajaxクライアントからのnet :: ERR_CONNECTION_RESETエラーのみを返します

ajax htmlクライアントからヒットすると、OPTIONSリクエストでnet :: ERR_CONNECTION_RESETと表示されます。 \ LogFilesに\ HTTPERR

それは

2017年7月20日12時54分06秒210.18を示し、\ WINDOWS \ System32に:それはサーバに到達didntのことを考えたが、

Cに HTTPエラーファイルを参照する際に.173.26 54141 10.0.1.4 80 HTTP/1.1 OPTIONS/API /ユーザー/方法1 1 - 私はTを有するのweb.config

<add name="Access-Control-Allow-Origin" value="*" /> 
<add name="Access-Control-Allow-Headers" value="Content-Type" /> 
<add name="Access-Control-Allow-Credentials" value="true" /> 
<add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS" /> 

でmyappapipool

をRequest_Cancelled web.configでタイムアウトを追加すると、解決されません。また、Web設定 "Access-Control-Allow-Headers"の値を "*"に変更しようとすると、プリフライト要求エラーが発生しました。

他のiisで同じサーバーとajaxクライアントの通信が機能しているため、Azure VMにあるIISでWeb APIを構成している間に何か不思議なものがあると思われます。 POSTMANまたはアンドロイドクライアントから呼び出すと、IISの既存の設定と同じように機能します。

ご協力いただきありがとうございます。

+0

'' ajax htmlクライアントからヒットするとOPTIONSリクエストでnet :: ERR_CONNECTION_RESETと表示されます.''エラーはすべてのajax htmlクライアントと主要なブラウザに表示されますか?特定のクライアント/ブラウザに表示されますか? –

+0

コメントをお寄せいただきありがとうございます。Firefoxでも同じエラーが発生しました。 –

+0

OPTIONS要求だけがエラーを返しますか?他の方法は大丈夫ですか? –

答えて

1

いくつかの理由でこの問題が発生します。 しかし、この場合、私はあなたがWebDAVをインストールしたことを前提としており、他のモジュールと競合することもあります。 そのため、最初にその拡張子を削除することをお勧めします。

enter image description here

3

はログがDDOS攻撃に対するDynamicIPRestrictions Module緩和によって引き起こされるHTTPERRに来るRequest_Cancelled。

「中止要求」に設定されている「拒否アクションタイプ」で、あなたのセットアップの動的IPの制限場合 はHTTPERRにデフォルトで

をログ「Request_Cancelled」として、要求が中止され、ログに記録されます動的IPアドレスの制限は、5つ以上の同時リクエストが来た場合にリクエストを中断することがあります(サーバで設定されている設定が何であるかを確認してください)。これは1台のサーバで動作し、Azure環境では動作しない理由です。上に見つけたSecurity guidelines to detect and prevent DOS attacks targeting IIS/Azure Web Role (PAAS)

1

ブラウザのコンソールにはどんな種類のエラーがありますか? ブラウザのリクエスト/レスポンスヘッダーの値を見てください。時には設定が正しく適用されていない、あるいはブラウザが他のヘッダを予期していることがあります。 Allow-Headers paramが過度に制限されている場合があります。

また、すべてのブラウザで再生可能ですか?

1

これは郵便配達とクロムの両方のために働いて、私のWeb config設定である、あなたはそれを試してみることができます。

<system.web> 
    <compilation debug="true" targetFramework="4.5.2" /> 
    <httpRuntime targetFramework="4.5.2" /> 
    <httpModules> 
     <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" /> 
    </httpModules> 
    </system.web> 
    <system.webServer> 
    <handlers> 
     <remove name="WebDAV" /> 
     <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
     <remove name="OPTIONSVerbHandler" /> 
     <remove name="TRACEVerbHandler" /> 
     <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
    </handlers> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <modules runAllManagedModulesForAllRequests="true"> 
     <remove name="WebDAVModule" /> 
     <remove name="ApplicationInsightsWebTracking" /> 
     <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" /> 
    </modules> 
    <httpProtocol> 
     <customHeaders> 
     <add name="Access-Control-Allow-Origin" value="*" /> 
     <add name="Access-Control-Allow-Headers" value="Content-Type" /> 
     <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /> 
     </customHeaders> 
    </httpProtocol> 
    </system.webServer> 

はそれが役に立てば幸い!

関連する問題