Я тоже пытаюсь настроить Let's Encrypt на моем сайте.В сети я нашел несколько решений, к сожалению, ни одно из них не сработало.
Я нахожусь на Debian 8.7 с Apache 2 и .NET Core 2.0.
Я пытался разместить веб.config (и несколько его вариантов) в папке .well-known / acme-challenge - не повезло.Я попробовал решения по этим ссылкам (в основном добавив web.config и добавив некоторый код):
https://github.com/ebekker/ACMESharp/issues/15
Установить web.config для letsencrypt - сертифицируйте с помощью Asp.NET Core иAngular 2 (Javascript-сервисы)
Я видел это, но это для известного имени файла, LE дает случайные имена файлов, поэтому я не знаю, как это реализовать: asp.netcore - Как обслуживать статический файл без расширения
Я знаю, что не проблема, если я неправильно укажу URL, как будто я добавляю расширение (например, .t) к файлу, а затем добавляюна URL-адрес сайт правильно возвращает файл.
Вот файл web.config в acme-challenge:
<?xml version = "1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".*" mimeType="text/plain" />
</staticContent>
<handlers>
<clear />
<add name="StaticFile" path="*" verb="*" type="" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" scriptProcessor="" resourceType="Either" requireAccess="Read" allowPathInfo="false" preCondition="" responseBufferLimit="4194304" />
</handlers>
</system.webServer>
</configuration>
Вот общий файл web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\my.site.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
Вот код, добавленный в Configure ():
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider("/var/aspnet/miadola/wwwroot/.well-known"),
RequestPath = new PathString("/var/aspnet/miadola/wwwroot/.well-known"),
ServeUnknownFileTypes = true // serve extensionless files
});