Отправить Outlook AutoDiscover Запрос простых способов

Разве вы не ненавидите это, когда журнал Praping Insights полон False 404 ошибок?

Один из простых запросов позаботиться о том, что для Outlook AutoDo -Aropover. Вот небольшой и очень эффективный способ избавиться от тех, кто в оптимизации CMS 12. Тогда у вас будет меньше 404 ошибок.

Причина, по которой мы получаем 404 ошибки за POST /AutoDiscover/AutoDiscover.xml (и аналогичные варианты) в журнале неудачных запросов заключается в том, что приложение Outlook пытается найти конфигурацию при запуске. И один из способов сделать это – найти путь на домене активного адреса электронной почты.

Но ошибка 404 никогда не кэшируется. Итак, Outlook просто попробует еще раз. После того, как 404 произошел, он мог найти свою конфигурацию по -другому. И все же в следующий раз, когда он откроется, он снова попробует.

Решение

Простое решение состоит в том, чтобы просто перенаправить запрос в соответствующую конечную точку. С небольшим и легким промежуточным программным обеспечением, как следующее, мы не увидим больше этих 404 ошибок в журналах.

namespace StefanOlsen.Web.Infrastructure.Middleware;

///


/// Middleware to redirect autodiscover requests from Outlook to the external autodiscover service.
///

public class AutodiscoverMiddleware
{
private static readonly PathString AutodiscoverPath = new("/autodiscover/autodiscover.xml");
// TODO: Amend redirect path with your own endpoint.
private static readonly StringValues RedirectLocation = new("http://autodiscover.yourdomain.tld/autodiscover/autodiscover.xml");
private readonly RequestDelegate _next;

public AutodiscoverMiddleware(RequestDelegate next) => _next = next;

public Task Invoke(HttpContext context)
{
if (!context.Request.Path.Equals(AutodiscoverPath))
{
return _next.Invoke(context);
}

context.Response.Headers.Location = RedirectLocation;
context.Response.StatusCode = (int)HttpStatusCode.PermanentRedirect;
return Task.CompletedTask;
}
}

Тогда мы можем назвать это из Startup.cs так.

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseMiddleware();
// Other middlewares go here.
}

Вы должны поместить его высоко в методе настройки. Предпочтительно выше, чем авторизация, HTTPS перенаправляют и другие средние войны. Таким образом, эти запросы на автопроизводство обрабатываются перед тем, как тратить ресурсы на запуск других среднихвор.

Read more:  5 лучших способов исправить ошибку ZIP 0x80010135: слишком длинный путь

Кончик! Этот шаблон промежуточного программного обеспечения также можно использовать для других видов статических действий перенаправления.

Продолжение темы

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.