ASP.NET Core 2.0 ngrok 502错误网关错误

时间:2018-03-06 15:22:35

标签: c# asp.net visual-studio asp.net-core ngrok

我一直在使用带有ASP.NET 4.X的ngrok而没有遇到任何问题。

不幸的是,当我尝试在ASP.NET Core 2中转发app build时,我遇到了一个我无法解决的问题。

我尝试了以下命令组合来启动ngrok:

  

ngrok http 44374-host-header =“localhost:44374”

     

ngrok http -host-header =重写localhost:44374

     

ngrok http 44374

所有人给出相同的结果。 Ngrok隧道启动,但是当我尝试打开给定的转发URL时,站点加载几分钟,然后显示502 Bad Gateway错误。它适用于http和https版本。

以管理员身份运行Visual Studio或ngrok无济于事。

Website works correctly with localhost

Running website with ngrok gives 502 Bad Gateway error

4 个答案:

答案 0 :(得分:7)

我解决了我的问题。

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)解决了这个问题。

答案 1 :(得分:3)

只需在项目上单击右键-> 属性,然后禁用 SSL

答案 2 :(得分:2)

我想发布以下修复程序,如果有人通过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

这样我就可以运行ngrok而不会出现502错误。

答案 3 :(得分:0)

通过转发到http端口,我能够使ngrok使用http和https。因此,例如,如果您的应用在http的端口5000和https的端口5001上运行,请运行:

ngrok http 5000