Plesk Panel sunucularda, ASP.NET Core projelerde Let’s Encrypt otoritesini HTTP üzerinden doğrulamak istediğinizde /.well-known/acme-challenge/ klasörüne erişim izni gerekiyor. Eğer kendinize ait bir URL Rewrite düzenine sahipseniz, kurulum hata vermektedir.
3 ayda bir sağlanması gereken otomatik doğrulamada aksaklık olmaması için aşağıdaki yöntemlerden herhangi birini kullanabilirsiniz. Doğrulama klasörüne kalıcı erişim sağlamaktadır.
1. Yöntem: Özel Web.Config
SSL’in kurulacağı domainin kök dizinde yer alan .well-known klasörü altında web.config adında sistem dosyası oluşturup, içerisine aşağıdaki kodları ekleyip kaydediniz. Ardından Let’s Encrypt doğrulamanız çalışacaktır.
Subdomain için SSL kuracaksanız subdomainin çalıştığı klasör altına, ana domain için SSL kuracaksanız ana domain kök dizinine müdahale ediniz.
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <remove name="aspNetCore" /> </handlers> </system.webServer> </configuration>
2. Yöntem: Yazılıma Kod Eklenmesi
Startup.cs içerisine uygulayınız:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { ..... #region SSL_LetsEncrypted /*Let's Encrypt için Klasör Yetkilendirmesi için gereklidir. Dikkat Windows üzerinde . ile başlayan klasör isimlendirmesi yapılamayacağı için local'de comment gerebilir. */ app.UseStaticFiles(); // wwwroot app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @".well-known")), RequestPath = new PathString("/.well-known"), ServeUnknownFileTypes = true // serve extensionless file }); //************************************************************************************************************* #endregion ...... }
2. yöntem paylaşımı için Ferhat Demirci’ye teşekkür ederiz.