Zugriff auf die Anforderung von Daten aus einem S3-Bucket bei hoher Auslastung verweigert

Zugriff auf die Anforderung von Daten aus einem S3-Bucket bei hoher Auslastung verweigert

Ich versuche, im Falle eines 502-Fehlers statische Dateien aus dem S3-Bucket abzurufen.

So habe ich Nginx für Anfragen konfiguriert:

error_page 502 = @static;
location / {
  index index.php;
  try_files $uri $uri/ /index.php;
# return 502;
  proxy_intercept_errors on;
}

location @static{
  rewrite ^/name/(.*) ^/bucket_name/$1 break;
  proxy_pass http://s3.amazonaws.com;
}

Der Fehler 502 wird gesendet, wenn Nginx eine große Last nicht bewältigen kann.

Wenn ich jetzt die Anweisung „return 502“ auskommentiere und die Anweisung try_files kommentiere, ist alles in Ordnung und die Daten werden korrekt vom S3-Bucket bereitgestellt.

Aber wenn ich für den oben angegebenen Code die Last auf der Website mithilfe von loader.io erhöhe (ich habe überprüft, dass es einen 502-Fehler generiert), erhält der Browser einen 403-Fehler (403 Forbidden).

Und diese freundliche Nachricht wird im Browser angezeigt,

<Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied</Message>
  <RequestId>some_string</RequestId>
  <HostId>
    something
  </HostId>

Und wenn ich „return 502“ auskommentiere, „try_files-Anweisung“ kommentiere und die Last erhöhe, stellt s3 die Dateien immer noch korrekt bereit.

Irgendeine Idee, warum ich aufgrund hoher Auslastung einen 403-Fehler erhalte, aber keinen solchen Fehler, wenn ich manuell 502 zurückgebe? Gibt es außerdem eine andere alternative Methode, um bei hoher Auslastung (502-Fehler) Daten aus dem S3-Bucket abzurufen? Sind manuell gesendete 502-Fehler und solche aufgrund hoher Auslastung dasselbe?

verwandte Informationen