Исправление ошибки 400 от Swagger / ASP через туннель ngrok - PullRequest
0 голосов
/ 31 марта 2020

У меня есть установленный / рабочий API, написанный на C # / ASP. net, который используется для питания части внутреннего сервера Dynamics CRM. Разрабатываемая версия размещается на моей рабочей машине с использованием локального экземпляра IIS. Есть много различных проектов, размещенных локально, для этого примера этот API находится на myapi.localhost на порту 80.

Swagger настроен, и если я go на myapi.localhost, я могу сделать все запросы swagger все нормально и Денди.

У меня есть сложная проблема для отладки, которая включает ответы на многие события CRM и не может быть легко отлажена, просто делая чванства запросы. Я хочу sh отладить его на своем локальном компьютере.

Я установил и настроил ngrok в надежде, что смогу использовать адрес ngrok в качестве URL-адреса и отладки CRM в Visual Studio, поскольку события происходили в CRM. Первоначально заголовок сваггера отображался, но он не мог прочитать какие-либо методы API, я исправил это, включив CORS в моем IIS, перейдя на мой веб-сайт в диспетчере, открыв заголовки ответа HTTP и добавив новый заголовок с именем «Access-Control-Allow». -Origin "и значение" * ".

Теперь я вижу все возможные запросы API, документацию и параметры и т. Д. c, но каждый отдельный запрос, который я пытаюсь инициировать, мгновенно возвращает тело без содержимого и следующий заголовок ответа:

{"error": "нет ответа от сервера"}

Если мой отладчик подключен к API в тот момент, когда я вижу запрос в обзорах приложений, Операция: OPTIONS / api / конечная точка и код ответа 400 и 3 мс времени отклика. Тот же запрос, сделанный через локальный URL-адрес, вполне подойдет. При полной потере того, как это исправить сейчас!

Я инициализирую ngrok, например: ngrok.exe http 80 -host-header = "myapi.localhost: 80"

, а также попытался: ngrok.exe http -host-header = переписать myapi.localhost: 80

, который ведет себя одинаково (без указания заголовка узла будет препятствовать отображению сваггера в любой емкости).

У всех есть последние недостающий кусочек моей головоломки?

...