Советы по запуску IdentityServer4 в веб-ферме - PullRequest
0 голосов
/ 05 сентября 2018

У кого-нибудь есть опыт работы с IdentityServer4 в веб-ферме (с несколькими серверами IIS) за балансировщиком нагрузки? У нас были некоторые проблемы с получением двух серверов для совместной работы. Я не видел руководство по развертыванию IdentityServer4. Здесь есть один для IdentityServer3.

https://identityserver.github.io/Documentation/docsv2/advanced/deployment.html

Мы реализовали защиту данных в файле Startup.cs.

StackExchange.Redis.ConnectionMultiplexer connectionMultiplexer = RedisConnectionFactory.GetConnection();
        RedisKey redisKey = appSettings.RedisKeyPrefix;
        services.AddDataProtection().PersistKeysToRedis(connectionMultiplexer, redisKey);

Балансировщик нагрузки работает на уровне 7. Он расшифровывает SSL и повторно шифрует, чтобы он мог проверять и обновлять заголовки со значением X-Forwarded-For. Для этого мы добавили ForwardedHeadersOptions в Startup.cs, чтобы приложение видело IP-адрес конечного пользователя, а не балансировщик нагрузки.

services.Configure<ForwardedHeadersOptions>(options =>
        {
            options.ForwardedHeaders =
                ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
            options.KnownNetworks.Add(new IPNetwork(...); 
            options.KnownProxies.Add(...); 
        });

В наших конфигурационных и операционных хранилищах используется SQL.

Я что-то упускаю, чтобы 2 сервера в ферме могли работать вместе? Стоит ли ожидать, что проверка файлов cookie и токенов должна выполняться правильно при проверке файлов cookie и токенов, изначально созданных другим сервером в ферме?

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