1

Azure Webロール(WebAppではなくクラウドサービス)は、クライアント証明書をサポートする必要があります。SslRequireCertとAzure Webロール

WebRole.csスニペットを使用してウェブサイトの設定を変更できることがわかりました。展開すると、IISのクライアント証明書の設定が変更されます(サーバーのリモートの場合)が動作していないため、認証エラーが発生します。しかし、私が手動でIISマネージャーで[SSL証明書を要求する]と[変更を適用]をクリックすると、すべてが機能するようです。 WebroleはELEVATEDモードで動作しています。私は何が欠けていますか?

public override bool OnStart() 
{ 
    try 
    { 
     using (var server = new ServerManager()) 
     { 
      const string siteNameFromServiceModel = "Web"; // TODO: update this site name for your site. 
      var siteName = string.Format("{0}_{1}", RoleEnvironment.CurrentRoleInstance.Id, siteNameFromServiceModel); 

      var config = server.GetApplicationHostConfiguration(); 
      var accessSection = config.GetSection("system.webServer/security/access", siteName); 
      accessSection["sslFlags"] = @"Ssl,SslRequireCert"; 

      server.CommitChanges(); 
     } 
    } 
    catch (Exception ex) 
    { 
     // handle error here 

    } 
    return base.OnStart(); 
} 

答えて

1

私はそうのように、同様の設定SslNegotiateCertをplasedしているために必要なことが表示されます:

     accessSection["sslFlags"] = @"Ssl, SslNegotiateCert, SslRequireCert"; 
+0

非常に有用だった –

0

サービス定義で証明書を設定しましたか?

<ServiceDefinition …> 
    <WebRole name="<web-role-name>" vmsize="<web-role-size>" enableNativeCodeExecution="[true|false]"> 
    <Certificates> 
     <Certificate name="<certificate-name>" storeLocation="<certificate-store>" storeName="<store-name>" /> 
    </Certificates>  
    ... 

https://msdn.microsoft.com/en-us/library/azure/gg557553.aspx

+0

うん。それは認識され、SSLのウェブサイト上で動作 – Igorek

関連する問題