Внутренняя https-связь локального кластера kubernetes для документа обнаружения (сервер duende)

У меня есть локальный кластер kubernetes (рабочий стол docker), на котором я хочу развернуть защищенное приложение.

У меня есть клиент angular, api и duende в виде трех отдельных развертываний и приложений, скрытых за nginx. Это первый раз, когда я пытаюсь работать с сетью/devops, поэтому я совершенно потерян и в основном пытаюсь просто следовать документации и руководствам, которые я нашел.

Мое угловое приложение может подключаться и входить на сервер duende, используя URL-адреса, настроенные в моем локальном DNS (account.local, application.local) через https. Проблема, которую я подозреваю, заключается в том, что я не могу подключиться к серверу duende внутри кластера, что должен (?) сделать API.

У меня есть следующее в API:

      builder.Services.AddAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme)
    .AddIdentityServerAuthentication(options =>
    {
        var host = Environment.GetEnvironmentVariable("DUENDE_SERVICE_SERVICE_HOST");
        var port = Environment.GetEnvironmentVariable("DUENDE_SERVICE_SERVICE_PORT");
        options.Authority = $"http://{host}:{port}";
        options.ApiName = "api";
        options.RequireHttpsMetadata = false;
    }); 

Я также пробовал с https://{host}:{port}а также options.RequireHttpsMetaData = true.

На моем сервере Duende у меня есть следующее:

      builder.Services.Configure<ForwardedHeadersOptions>(options =>
{
    options.ForwardedHeaders = ForwardedHeaders.XForwardedFor |
                               ForwardedHeaders.XForwardedProto;
    options.KnownNetworks.Clear();
    options.KnownProxies.Clear();
});

а также

      app.Use((context, next) =>
{
    context.Request.Scheme = "https";
    return next();
});
app.UseForwardedHeaders();

Проблема, с которой я столкнулся, заключается в том, что я не могу получить документ об открытии от duende. Ошибка внутри модуля, которую я получаю:
IDX20803: невозможно получить конфигурацию с: http://10.111.187.138:5002/.well-known/openid-configuration .

Когда я пытаюсь свернуться изнутри стручка, я получаю следующее:
curl http://10.111.187.138:5002
Ответ: все в порядке (моя "проверка здоровья")
curl https://10.111.187.138:5002
Ответ: curl: (35) ошибка:1408F10B: подпрограммы SSL:ssl3_get_record: неверный номер версии
curl http://10.111.187.138:5002/.well-known/openid-configuration
Ответ: я получаю правильный ответ, хорошо известную конфигурацию со ссылками https, которую я хочу, когда мое угловое приложение входит в систему, используя конечную точку https в качестве своего авторитета.

Кто-нибудь знает, что я могу сделать, чтобы это работало внутри кластера:

      curl https://10.111.187.138:5002

Еще один вопрос, который у меня есть, я могу получить ответ при использовании следующего: curl http://account.local(это мой переопределенный DNS)

Это, однако, возвращает 404

      curl -I http://account.local/.well-known/openid-configuration

И, наконец, это:

      curl https://account.local

возвращает ошибку: curl: (7) Не удалось подключиться к порту account.local 443: соединение отклонено

Однако в моем браузере я без проблем могу получить доступ к https://account.local и https://account.local/.well-known/openid-configuration .

0 ответов

Другие вопросы по тегам