Моя Azure Web-роль (Cloud Services, а не WebApp) должна поддерживать клиентские сертификаты.Роли SslRequireCert и Azure
Я обнаружил, что могу изменить конфигурацию веб-сайта с помощью встроенного фрагмента WebRole.cs. При развертывании параметр Client Certificate в 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();
}
Было очень полезно –