Почему метод не отвечает на запрос через ngrok? - PullRequest
0 голосов
/ 10 февраля 2019

В .net core 2 есть проект web api, согласно стандартному шаблону VS:

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    public void ConfigureServices(IServiceCollection services)
    {
        // tried to get rid of this problem:
        services.AddCors(options =>
        {
            options.AddPolicy("AllowSpecificOrigin",
            builder => builder.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin());// by idea everything is allowed                                 
        });

        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {

        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseHsts();
        }

        app.UseCors("AllowSpecificOrigin");

        app.UseHttpsRedirection();
        app.UseMvc();
    }
}

Если я отправлю запрос на локальный сервер через почтальона, то все в порядке.Но если я отправляю с другого компьютера (или даже с моего собственного) через ngrok, появляется запрос ngork, и приходит клиент - ERR_EMPTY_RESPONSE, и точка остановки метода не работает.Запрос выглядит так:

var onSubmitClick = function () {
      $.ajax({
        url: URL_POST,
        headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
        },
        type: 'POST',
        data: jsonData,
        AccessControlAllowOrigin : '*', 
        AccessControlAllowHeaders : 'Content-Type',
        crossDomain: true,
        async: true,
        success: function(arr) {
            renderTours(arr);
        }
   })
};

launchsettings.json:

{
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false, 
    "anonymousAuthentication": true, 
    "iisExpress": {
      "applicationUrl": "http://localhost:52822",
      "sslPort": 44314
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "Booking": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "",
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

Я пробовал, кроме ngrok, localtunel - тоже самое.

...