fragen stichworte

310 Fehler zu viele Weiterleitungen, der alle paar Stunden auftritt und sich innerhalb weniger Minuten von selbst löst

Nach einigen Änderungen (siehe unten) funktioniert die URL https://mysite.tld bis alle 3-6 Stunden. httpstatus.io beginnt mit der Meldung von 11 Weiterleitungen (es werden keine Details angegeben) Weiterleitungen sagen jedoch nur "URL funktioniert nicht richtig" oder so. Es ist immer 11.

Es löst sich innerhalb von 1 bis 5 Minuten auf und meldet erneut 0 Weiterleitungen. Wenn ich den entsprechenden App-Pool wiederverwende oder die Datei web.config auf irgendeine Weise bearbeite, wird das Problem sofort behoben.

Hat jemand das oder so etwas schon einmal gesehen? Wie kann ich weiter debuggen?

Hintergrund

Das Problem begann nach der Installation eines Zertifikats von Let's Encrypt und dem Verschieben der Site aus nicht sicherem WWW, um Nicht-WWW auf einer eindeutigen IP-Adresse zu sichern. Ich habe auch ein zweites Zertifikat zum FTP-Server hinzugefügt.

Die Antwortheader, wenn es funktioniert, sind:

Cache-control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma:no-cache
Content-type:text/html; charset=UTF-8
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Server:Microsoft-IIS/7.5
X-powered-by:PHP/5.6.2
X-pingback:https://mysite.tld/wordpress/xmlrpc.php
Link:https://mysite.tld/wp-json/; rel="https://api.w.org/", <https://mysite.tld/>; rel=shortlink
Set-cookie:PHPSESSID=8kshloboqs5gdh05ej026s5df3; path=/
Date:Fri, 30 Sep 2016 11:28:37 GMT
Connection:close
Content-length:54191

Meine web.config enthält die folgenden Weiterleitungen:

<rule name="Redirect to non-www" stopProcessing="true">
   <match url="(.*)"/>
   <conditions>
      <add input="{HTTP_HOST}" pattern="^mysite\\.tld$" negate="true"/>
   </conditions>
   <action type="Redirect" url="https://mysite.tld/{R:1}"/>
</rule>
<rule name="Redirect to HTTPS" stopProcessing="true">
   <match url="(.*)"/>
   <conditions>
      <add input="{HTTPS}" pattern="^OFF$"/>
   </conditions>
   <action type="Redirect" url="https://mysite.tld/{R:1}" redirectType="Permanent"/>
</rule>

Meine wp-config.php-Datei enthält Folgendes, um Probleme beim Browser-Caching zu beheben, und ich habe den wp-super-cache deaktiviert:

define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');

antworten

Das Problem ist mit Ihrer URL HTTPS Rewrite.

Ändern Sie die URL-Rewrite-Regel wie folgt und stellen Sie sie auf der "globalen Ebene" in IIS bereit, sodass die Regel in der Datei applicationhost.config gespeichert wird. Wenn Sie mehrere Sites haben, müssen Sie für jeden eine Regel erstellen und eine weitere Bedingung für jede Site hinzufügen.

<rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
   <match url="(.*)"/>
       <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{SERVER_PORT}" pattern="^80$"/>
       </conditions>
   <action type="Redirect" url="https://mysite.tld/{R:1}" redirectType="Permanent"/>
</rule>
sch sch 100 sch 100 sch 100 sch 100 sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch 100 sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch sch 100 in dieser sch sch sch sch sch 100 sch sch sch sch sch sch dieser Durch viel Versuch und Irrtum konnte ich es auf diese Weise lösen. Ich fühle deine Frustration, andere haben dieses Problem bereits vorher gemeldet, aber es wurden keine Entschlüsse gemacht, wie du weißt, sonst würdest du diese Frage nicht stellen :)

Wenn diese Antwort richtig ist, bitte markieren Sie als solche.

Wir haben gerade diese Übung durchlaufen und festgestellt, dass das Problem das Kontrollkästchen für Require Secure (HTTPS) sign in (You must have enabled SSL on IIS) auf dem IIS-Server war. Durch die Deaktivierung wurde das Problem behoben.

Wir verwenden den Load Balancer, um auf HTTPS umzuleiten, damit er auf dem Server nicht benötigt wird. Die "zu viele Umleitungen" waren auf die Wiederholungen zwischen dem Load Balancer und dem Server zurückzuführen. Ja, es war ein Umleitungsproblem, das jedoch nicht mit Skripts auf dem Server zusammenhängt.

Danke, dass Sie mich in die richtige Richtung weisen!