Объяснение
У меня есть основной веб-сайт: 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
Как записать идентификатор LetsEncrypt в виде файла в папку «.well-known/acme-challenge» в .net 8.0? ⇐ C#
Место общения программистов C#
1732905040
Anonymous
[b]Объяснение[/b]
У меня есть основной веб-сайт: https://example.com, созданный с помощью .Net 8.0 Razor Pages.
Я хотел бы создать (если она не существует) папку acme-challenge при запуске и
когда идентификатор отправляется на URL-адрес acme-challenge,< /p>
это создает файл с этим идентификатором в папке acme-challenge.
Следуя многочисленным руководствам на веб-сайтах, мне удалось завершить это до определенного момента.
Когда я передаю случайный идентификатор в вызов, я получаю сообщение об ошибке, как показано ниже (файл не существует).
Если файл существует, он просто читает его. нормально.
Не могу понять, чего для этого не хватает работает.
[b]Вопрос[/b]
Как это сделать правильно, чтобы работало?
[b]Код, который я пробовал:[/b]
В файле 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();
[b]В WEBNET8.proj:[/b]
Пс. Не зная, какой из них подойдет, я перепробовал множество комбинаций. как показано ниже.
Always
PreserveNewest
[b]Я получаю ошибку:[/b]
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()
Подробнее здесь: [url]https://stackoverflow.com/questions/79238062/how-to-write-the-letsencrypt-id-as-file-into-the-well-known-acme-challenge-f[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия