Inclure le dossier .well-known dans votre projet ASP.NET Core
.well-known/acme-challenge/*** introuvable (http 404)
Si vous souhaitez utiliser Let’s Encrypt, que vous choisissez la voie manuelle et que vous passez la valeur http à l’argument –preferred-challenges pour générer un certificat, vous risquez d’obtenir une réponse HTTP introuvable (404) pour un fichier situé dans ce dossier.
Dans mon exemple, j’ai créé le dossier .well-known à l’intérieur du dossier wwwroot.
Pour résoudre ce problème, vous devez ajouter l’instruction suivante :
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot/.well-known")),
RequestPath = new PathString("/.well-known"),
ServeUnknownFileTypes = true // serve extensionless file
});
// ...
}
Vous devez ajouter cette instruction de configuration après la ligne app.UseStaticFiles();.
Cette instruction nécessite l’ajout de quelques directives using :
using System.IO;using Microsoft.Extensions.FileProviders;using Microsoft.AspNetCore.Http
Le dossier peut ne pas apparaître dans Visual Studio. Vous pouvez ajouter les lignes de configuration suivantes dans le fichier csproj de votre projet :
<ItemGroup>
<Content Include="wwwroot\.well-known\acme-challenge\**" />
</ItemGroup>