ASP.net Core OData, обслуживающий HTTPS в Кубернетесе с сертификатом, предоставленным Ingress - PullRequest
2 голосов
/ 12 июня 2019

У меня есть следующие рабочие настройки:

  • Контейнер , обслуживающий приложение ASP.net Core OData на порту 80
  • Вход публикация веб-приложения в виде HTTPS с letsencrypt-сертификатом

Все работало как положено. Сервис OData доступен через HTTPS. Но теперь я хотел соединиться с PowerBI с веб-сервисом, и с помощью Fiddler я увидел, что PowerBi не только вызывает / odata / $ metadata , но и вызывает / OData / . Эта конечная точка публикует описание метаданных меньшего размера со следующей записью:

"@odata.context": "http://my-url/odata/$metadata"

Этот URL-адрес используется в последующем вызове PowerBI и приводит к 308 (перенаправление). Это приводит к ошибке в PowerBI. Возвращенный URL должен использовать HTTPS: //. В моей среде разработки с самозаверяющим сертификатом он работает и возвращает правильный адрес в зависимости от используемого протокола.

Каждый найденный мной экзамен, описывающий использование HTTPS, нуждается в сертификате. Но это не имеет смысла. Контейнер не должен знать сертификат. Сертификат определяется вне (Ingress) приложения.

Другим возможным решением является общесистемная замена строки для адреса HTTP. Но это звучит странно и неправильно для меня.

Я также пытался вручную перенаправить порт на 443, но это не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...