web-dev-qa-db-ja.com

ASP.NET Core 2.0 ngrok502不正なゲートウェイエラー

私は問題なくASP.NET4.Xでngrokを使用しています。

残念ながら、ASP.NET Core 2でアプリのビルドを転送しようとすると、解決できない問題が発生します。

次のコマンドの組み合わせを試して、ngrokを起動しました。

ngrok http 44374-Host-header = "localhost:44374"

ngrok http -Host-header = rewrite localhost:44374

ngrok http 44374

すべて同じ結果になります。 Ngrokトンネルが開始しますが、指定された転送URLを開こうとすると、サイトが数分ロードされ、502 BadGatewayエラーが表示されます。 httpバージョンとhttpsバージョンの両方に適用されます。

管理者としてVisualStudioまたはngrokを実行しても役に立ちません。

ウェブサイトはローカルホストで正しく動作します

ngrokでWebサイトを実行すると、502 Bad Gatewayエラーが発生します

8
Deleroy

私は自分の問題を解決しました。

properties/launchSettings.jsonコンテンツ:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:59889/",
      "sslPort": 44374
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "https://localhost:44374/",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "NgrokTEST": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "http://localhost:59890/"
    }
  }
}

したがって、ASP.NET CoreはSLL接続に異なるポートを使用し、デフォルトで使用されていることがわかります。

Ngrokでポートを通常(私の場合は59890)に変更すると、問題が解決しました。

9
Deleroy

誰かがDockerを使用してhttps経由でASP Core 2.Xアプリを実行している場合に役立つ可能性がある次の修正を公開したいのですが、次のことがうまくいきました:

ngrok http https://localhost:[PORT] --Host-header="localhost:[PORT]" --subdomain [YOUR_SUBDOMAIN]

Example:
ngrok http https://localhost:44390 --Host-header="localhost:44390" --subdomain 2gtest

これで、502エラーなしでngrokを実行できました。

3
Carlos

右クリックプロジェクトで-> プロパティそして無効にする[〜#〜] ssl [〜#〜]

3

Httpポートに転送することで、ngrokをhttpおよびhttpsで動作させることができました。したがって、たとえば、アプリがhttpの場合はポート5000で、httpsの場合は5001で実行される場合は、次のコマンドを実行します。

ngrok http 5000
0
LazyBoy