Как записать идентификатор LetsEncrypt в виде файла в папку «.well-known/acme-challenge» в .net 8.0?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как записать идентификатор LetsEncrypt в виде файла в папку «.well-known/acme-challenge» в .net 8.0?

Сообщение Anonymous »

Объяснение
У меня есть основной веб-сайт: https://example.com, созданный с помощью .Net 8.0 Razor Pages.
Я хотел бы создать (если она не существует) папку acme-challenge при запуске и
когда идентификатор отправляется на URL-адрес acme-challenge,< /p>
это создает файл с этим идентификатором в папке acme-challenge.
Следуя многочисленным руководствам на веб-сайтах, мне удалось завершить это до определенного момента.
Когда я передаю случайный идентификатор в вызов, я получаю сообщение об ошибке, как показано ниже (файл не существует).
Если файл существует, он просто читает его. нормально.
Не могу понять, чего для этого не хватает работает.
Вопрос
Как это сделать правильно, чтобы работало?
Код, который я пробовал:
В файле Program.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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как записать идентификатор LetsEncrypt в виде файла в папку «.well-known/acme-challenge» в .net 8.0?
    Anonymous » » в форуме C#
    0 Ответы
    102 Просмотры
    Последнее сообщение Anonymous
  • Как записать идентификатор LetsEncrypt в виде файла в папку «.well-known/acme-challenge» в .net 8.0?
    Anonymous » » в форуме C#
    0 Ответы
    129 Просмотры
    Последнее сообщение Anonymous
  • Как записать идентификатор LetsEncrypt в виде файла в папку «.well-known/acme-challenge» в .net 8.0?
    Anonymous » » в форуме C#
    0 Ответы
    44 Просмотры
    Последнее сообщение Anonymous
  • Подозрительные папки в .well-known/acme-challenge после взлома [закрыто]
    Anonymous » » в форуме Apache
    0 Ответы
    178 Просмотры
    Последнее сообщение Anonymous
  • Добавьте .well-known в ядро ​​asp.net
    Anonymous » » в форуме C#
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»