Объяснение
У меня есть основной веб-сайт: https://example.com, созданный с помощью .Net 8.0 Razor Pages.
Я хотел бы создать (если она не существует) папку acme-challenge при запуске и
когда идентификатор отправляется на URL-адрес acme-challenge,< /p>
это создает файл с этим идентификатором в папке acme-challenge.
Следуя многочисленным руководствам на веб-сайтах, мне удалось завершить это до определенного момента.
Когда я передаю случайный идентификатор в вызов, я получаю сообщение об ошибке, как показано ниже (файл не существует).
Если файл существует, он просто читает его. нормально.
Не могу понять, чего для этого не хватает работать.
Примечание. У меня нет опыта работы с IIS или Lets Encrypt.
Если я что-то не понятно объясняю по незнанию.
Вопрос
Как это правильно сделать , чтобы это работало?
Код, который я пробовал:
В Программа.cs:
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @".well-known")),
RequestPath = new PathString("/.well-known"),
ServeUnknownFileTypes = true // serve extensionless file
});
// Дескриптор позволяет шифровать маршрут (перед обработкой MVC!)
app.UseRouter(r =>
{
r.MapGet(".well-known/acme-challenge/{id}", async (request, response, routeData) =>
{
var id = routeData.Values["id"] as string;
var file = Path.Combine(Directory.GetCurrentDirectory(), ".well-known", "acme-challenge", id);
await response.SendFileAsync(file);
});
});
app.UseRouting();
В WEBNET8.proj:
Пс. Не зная, какой из них подойдет, я перепробовал множество комбинаций. как показано ниже.
Always
PreserveNewest
Я получаю ошибку:
fail: Microsoft.AspNetCore.Server.Kestrel[13]
Connection id "0HN8GK882NCBE", Request id "0HN8GK882NCBE:00000021": An unhandled exception was thrown by the application.
System.IO.FileNotFoundException: Could not find file 'D:\source\repos\WEBNET8\WEBNET8\WEBNET8\.well-known\acme-challenge\ftf75rf7t7rfvovr8oiv8o'.
File name: 'D:\source\repos\WEBNET8\WEBNET8\WEBNET8\.well-known\acme-challenge\ftf75rf7t7rfvovr8oiv8o'
at System.IO.FileInfo.get_Length()
Подробнее здесь: https://stackoverflow.com/questions/792 ... hallenge-f
Как записать идентификатор LetsEncrypt в виде файла в папку «.well-known/acme-challenge» в .net 8.0? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Подозрительные папки в .well-known/acme-challenge после взлома [закрыто]
Anonymous » » в форуме Apache - 0 Ответы
- 178 Просмотры
-
Последнее сообщение Anonymous
-
Мобильная версия