Office Autodiscover.xml Anfragen serverseitig ablehnen
Zuletzt stellten wir eher zufällig fest, dass Office 365 für den höheren Load auf unserem Webserver verantwortlich ist. Und zwar nutzt Office 365 einen Autodiscover-Mechanismus.
Einige unserer Kunden hosten Ihre Mails bei Office365. In dem Zuge setzen wir die DNS Einträge wie von Office365 gewünscht. Darunter ist unter anderem auch eine CNAME Anpassung autodiscover@ an autodiscover.outlook.com.
Jedoch prüft Office erstmal die Haupt-Domain und nicht die autodiscover-Subdomain. Somit kommen massig autodiscover.xml POST Abfragen an unseren Webserver. Alles in allem nichts dramatisches. Jedoch mussten wir einen deutlich erhöhten Load auf dem Server feststellen und gingen dann auf Spurensuche. Und siehe da…
Die Seiten auf unserem WordPress-Webserver sind (wie der Name es schon sagt) alles WordPress Installationen. Somit wird jede POST Abfrage vom WordPress verarbeitet. Durch die POST-Anfrage wird der Pagecache umgangen und das WordPress hochgefahren – und das nur um eine WordPress-eigene 404 Fehlerseite anzuzeigen.
Man braucht kein Genie zu sein, um zu merken dass das eher suboptimal ist.
Lösung: die Anfrage direkt vom Webserver ablehnen. In unserm Fall ein Apache Webserver. Eine kleine Codezeile in die .htaccess Datei reicht auch schon aus, um über mod_rewrite die Anfragen mit einem 403 Forbidden abzulehnen:
RewriteEngine On
RewriteRule ^autodiscover/autodiscover.xml$ - [F,L]
So lehnt der Webserver die Anfrage ab, bevor sie überhaupt das WordPress erreicht. Effizient und einfach.
Dieser Lösungsansatz macht übrigens keine Probleme – durch das Ablehnen der Anfrage geht Office365 einfach zur nächsten Option über: die korrekte autodiscover-Subdomain.