【问题标题】:How to access Azure Web App certs from Container如何从容器访问 Azure Web App 证书
【发布时间】:2021-04-09 15:48:18
【问题描述】:

我创建了一个在 Azure Web App 服务中托管的容器中运行的 api 应用程序。此应用需要访问已加载到 azure Web 应用服务中的证书(使用 TLS/SSL 设置)。

我已尝试将 WEBSITE_LOAD_CERTIFICATES 设置为 *,但不确定是否有效。

那么我如何访问证书,以及如何确认它们在我的容器中可用。 (或者我必须手动将证书加载到我的容器中)

【问题讨论】:

    标签: azure-web-app-service


    【解决方案1】:

    关于您的第一个问题:“不确定这是否有效”。

    WEBSITE_LOAD_CERTIFICATES设置为*是可以实现的,见这里:

    WEBSITE_LOAD_CERTIFICATES 应用设置使指定的 您的 Windows 或 Linux 容器应用程序可访问的证书 (包括内置的 Linux 容器)作为文件。

    添加名为 WEBSITE_LOAD_CERTIFICATES 的应用设置及其值 设置为证书的指纹将使其可以访问 您的网络应用程序。您可以有多个逗号分隔的指纹 值或可以将此值设置为“*”(不带引号)在这种情况下 您的所有证书都将加载到您的个人网络应用程序中 证书存储。

    关于“我如何确认它们在我的容器中可用?”

    此外,Windows Server Core 容器将证书加载到 证书自动存储在LocalMachine\My 中。加载 证书,遵循与在 Windows 中加载证书相同的模式 应用。对于基于 Windows Nano 的容器,使用提供的文件路径 以上直接从文件加载证书。

    官方还提供了一个 C# 代码,展示了如何在 Linux 应用中加载公共证书。

    using System;
    using System.IO;
    using System.Security.Cryptography.X509Certificates;
    
    ...
    var bytes = File.ReadAllBytes("/var/ssl/certs/<thumbprint>.der");
    var cert = new X509Certificate2(bytes);
    
    // Use the loaded certificate
    

    参考:

    1. Load certificate in Linux/Windows containers
    2. Using Certificates in Azure Websites Applications

    【讨论】:

      猜你喜欢
      • 2016-06-12
      • 1970-01-01
      • 2014-06-03
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-09
      • 2017-04-22
      相关资源
      最近更新 更多