Web ASP.NET Core konak grubu

ChrisRis tarafından

Web grubu, bir uygulamanın birden çok örneğini barındıran iki veya daha fazla web sunucusu (veya düğüm) grubu. Kullanıcılardan gelen istekler bir web çiftliğine geldiğinde, yük dengeleyici istekleri web grubu düğümlerine dağıtır. Web farms improve:

  • Güvenilirlik/kullanılabilirlik: Bir veya daha fazla düğüm başarısız olduğunda yük dengeleyici istekleri işlemeye devam etmek için istekleri diğer çalışma düğümlerine yönlendirerek devam eder.
  • Kapasite/performans: Birden çok düğüm, tek bir sunucudan daha fazla isteği işebilir. Yük dengeleyici, istekleri düğümlere dağıtarak iş yükünü dengeler.
  • Ölçeklenebilirlik: Daha fazla veya daha az kapasite gerektiğinde, etkin düğümlerin sayısı iş yüküyle eşleşmesi için artırılabilir veya azaltılabilir. Azure App Service gibi web grubuplatformu teknolojileri, sistem yöneticisinin isteği üzerine veya insan müdahalesi olmadan otomatik olarak düğüm ekleyebilir veya kaldırabilir.
  • Bakım: Bir web grubu düğümleri, bir dizi paylaşılan hizmet kullanabilir ve bu da sistem yönetimini kolaylaştırır. Örneğin, bir web grubu düğümleri tek bir veritabanı sunucusunu ve görüntüler ve indirilebilir dosyalar gibi statik kaynaklar için ortak bir ağ konumunu kullanabilir.

Bu konu başlığı altında, paylaşılan kaynaklara ASP.NET bir web grubu içinde barındırılan temel uygulamalar için yapılandırma ve bağımlılıklar açıklanmıştır.

Genel yapılandırma

Konak ve dağıtım ASP.NET Core
Barındırma ortamlarını ayarlamayı ve ASP.NET Core dağıtmayı öğrenin. Uygulama başlatma ve yeniden başlatma işlemlerini otomatikleştirmek için web grubu her düğümünde bir işlem yöneticisi yapılandırma. Her düğüm, ASP.NET Core gerektirir. Daha fazla bilgi için belgelerin Konak ve dağıtım alanında yer alan konulara bakın.

Yapılandırma ASP.NET Core sunucuları ve yük dengeciler ile çalışacak şekilde yapılandırma
Ara sunucuların ve yük dengecilerin arkasında barındırılan ve genellikle önemli istek bilgilerini karartan uygulamalar için yapılandırma hakkında bilgi edinin.

ASP.NET Core uygulamalarını Azure App Service dağıtma
Azure App Service, web uygulamalarını barındırmak için bir Microsoft bulut bilişim platformu hizmetidir ve ASP.NET Core. App Service otomatik ölçeklendirme, yük dengeleme, düzeltme eki uygulama ve sürekli dağıtım sağlayan tam olarak yönetilen bir platformdur.

Uygulama verileri

Bir uygulama birden çok örnek için ölçeklendirilen, düğümler arasında paylaşımı gerektiren bir uygulama durumu olabilir. Durum geçici ise, bir IDistributedCache paylaşımını göz önünde bulundurarak. Paylaşılan durum kalıcılık gerektiriyorsa, paylaşılan durumu bir veritabanında depolamayı göz önünde bulundurabilirsiniz.

Gerekli yapılandırma

Veri Koruma ve Önbelleğe Alma, bir web grubu için dağıtılan uygulamalar için yapılandırma gerektirir.

Veri Koruma

Veri ASP.NET Core sistemi, uygulamalar tarafından verileri korumak için kullanılır. Veri Koruması, bir anahtar halkası içinde depolanan bir dizi şifreleme anahtarına dayandır. Veri Koruma sistemi başlatılmışsa, anahtar halkasını yerel olarak depo alan varsayılan ayarları uygular. Varsayılan yapılandırma altında, web grubu her düğümünde benzersiz bir anahtar halkası depolanır. Sonuç olarak, her web grubu düğümü başka bir düğümdeki bir uygulama tarafından şifrelenen verilerin şifresini çöze değildir. Varsayılan yapılandırma, uygulamaları bir web grubu içinde barındırmak için genel olarak uygun değildir. Paylaşılan anahtar halkası uygulamanın alternatifi, kullanıcı isteklerini her zaman aynı düğüme yönlendirmedir. Web grubu dağıtımları için Veri Koruma sistemi yapılandırması hakkında daha fazla bilgi için bkz. ASP.NET Core veri korumasını yapılandırma .

Önbelleğe Alma

Bir web grubu ortamında önbelleğe alma mekanizmasının önbelleğe alınmış öğeleri web grubu düğümleri arasında paylaşması gerekir. Önbelleğe Alma bir Redis önbelleğine, paylaşılan bir SQL Server veritabanına veya web grubu genelinde önbelleğe alınmış öğeleri paylaşan özel bir önbelleğe alma uygulamasına bağlı olmalıdır. Daha fazla bilgi için bkz. ASP.NET Core 'de dağıtılmış önbelleğe alma.

Bağımlı bileşenler

Aşağıdaki senaryolar ek yapılandırma gerektirmez, ancak web gruplarında yapılandırma gerektiren teknolojilere bağımlıdır.

Senaryo Bağlıdır …
Kimlik Doğrulaması Veri Koruması (bkz. ASP.NET Core veri korumasını yapılandırma ).

Daha fazla bilgi için cookieKimlik doğrulamasını kullanmadan kullanınASP.NET Core Identity ve Diğer uygulamalar cookie arasında kimlik ASP.NET paylaşma bölümlerine bakın.
Identity Kimlik doğrulaması ve veritabanı yapılandırması.

Daha fazla bilgi için bkz. IdentityASP.NET Core'a giriş.
Oturum Veri Koruması cookie (şifrelenmiş) (bkz. ASP.NET Core veri korumasını yapılandırma ) ve Önbelleğe Alma (bkz. ASP.NET Core 'de dağıtılmış önbelleğe alma ).

Daha fazla bilgi için bkz. Oturum ve durum yönetimi: Oturum durumu.
TempData Veri Koruması cookie (şifrelenmiş) (bkz. ASP.NET Core veri korumasını yapılandırma ) veya Oturum (bkz. Oturum ve durum yönetimi: Oturum durumu).

Daha fazla bilgi için bkz. Oturum ve durum yönetimi: TempData.
Sahtecilik önleme Veri Koruması (bkz. ASP.NET Core veri korumasını yapılandırma ).

Daha fazla bilgi için bkz. ASP.NET Core siteler arası Istek sahteciliği (XSRF/CSRF) saldırılarını önle.

Sorun giderme

Veri Koruması ve önbelleğe alma

Veri Koruması veya önbelleğe alma bir web grubu ortamı için yapılandırılmamışsa, istekler işlendiğinde aralıklı hatalar oluşur. Bunun nedeni düğümlerin aynı kaynakları paylaşması ve kullanıcı isteklerinin her zaman aynı düğüme geri yönlendirilene sahip olmasıdır.

Kimlik doğrulaması kullanarak uygulamada oturum açabilen bir kullanıcı cookie düşünün. Kullanıcı bir web grubu düğümünde uygulamada oturum açın. Bir sonraki isteğin oturum aç olduğu düğüme ulaşsa da uygulama, kimlik doğrulamasının şifresini çözebilir ve uygulamanın kaynağına cookie erişim izni verir. Bir sonraki isteği farklı bir düğüme gelirse, uygulama kullanıcının oturum açtırmış olduğu düğümden kimlik doğrulamasının şifresini çözemezse ve istenen kaynak için yetkilendirme cookie başarısız olur.

Aşağıdaki belirtilerden herhangi biri aralıklı olarak ortaya çıkarsa, sorun genellikle hatalı Veri Koruması veya bir web grubu ortamı için önbelleğe alma yapılandırmasına yol atılır:

  • Kimlik doğrulaması cookie sonları: Kimlik doğrulaması yanlış yapılandırılmış veya şifresi çözülemedi. OAuth (Facebook, Microsoft, Twitter) veya OpenIdConnect oturum açma bilgileri "Bağıntı başarısız oldu" hatasıyla başarısız oluyor.
  • Yetkilendirme sonları: Identity kaybolur.
  • Oturum durumu verileri kaybeder.
  • Önbelleğe alınan öğeler kaybolur.
  • TempData başarısız oluyor.
  • POST'lar başarısız oluyor: Sahteciliği önleme denetimi başarısız oluyor.

Web grubu dağıtımları için Veri Koruma yapılandırması hakkında daha fazla bilgi için bkz. ASP.NET Core veri korumasını yapılandırma . Web grubu dağıtımları için önbelleğe alma yapılandırması hakkında daha fazla bilgi için bkz. ASP.NET Core 'de dağıtılmış önbelleğe alma .

Uygulamalardan veri alma

Web grubu uygulamaları isteklere yanıt veremiyorsa, terminal satır içi ara yazılımı kullanarak uygulamalardan istek, bağlantı ve ek veriler alın. Daha fazla bilgi ve örnek kod için bkz. ASP.NET Core projelerinde sorun giderme ve hata ayıklama .

Ek kaynaklar