Redirect loop served from cache My Drupal 8 site occasionally (maybe once a week) gets a redirect loop for an url. The redirect sends a 301 Moved Permanently for that url to the exact same url; not even a to and fro redirect loop. Clearing the Drupal cache will fix the problem.
It is not always the same url - it seems pretty random. 

I'm including the full anonymized http response:

HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Tue, 13 Jun 2017 11:41:56 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/7.1.5
Cache-Control: must-revalidate, no-cache, private
X-Drupal-Route-Normalizer: 1
X-UA-Compatible: IE=edge
Content-language: nl
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Expires: Sun, 19 Nov 1978 05:00:00 GMT
X-Generator: Drupal 8 (https://www.drupal.org)
X-Drupal-Cache: HIT
Location: http://www.domain.ext/lang/parts/of/url
X-Powered-By: PleskLin
MS-Author-Via: DAV
Content-Length: 488

&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;meta charset="UTF-8" /&gt;
        &lt;meta http-equiv="refresh" content="1;url=http://www.domain.ext/lang/parts/of/url" /&gt;

        &lt;title&gt;Redirecting to http://www.domain.ext/lang/parts/of/url&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
        Redirecting to &lt;a href="http://www.domain.ext/lang/parts/of/url"&gt;http://www.domain.ext/lang/parts/of/url&lt;/a&gt;.
    &lt;/body&gt;
&lt;/html&gt;
X-Drupal-Route-Normalizer: 1


That's either the redirect module or the corresponding core patch, I guess the first.

There have been a bunch of bugs in the past about this but it should work now if you update to the latest version.

This for example someteimes happened with different url query parameters, or a trailing ?, e.g. "some/url?", redirect.module redirected that to /some/url but the page cache in Drupal core actually cached it for a normalized URL without ?, so it cached a redirect to /some/url as /some/url, and then you have your redirect loop.

If you can still reproduce with the latest redirect version, then open a bug report. Also make sure that you are not using a Drupal 7-style configuration for nginx (that e.g. adds a ?q=path qery parameter)