Am Google Cloud Storage configurat cu un CNAME conform documentație, așa că practic am Google Load Balancer care se ocupă de solicitări.
In aproape 2 ani cu aceasta configuratie nu am avut nicio problema (traficul este mai mare acum, asa ca probabil problema a fost obscucata...nu pot sti asta).
Folosesc URL-uri semnate.
Am început să am niște răspunsuri 403 aparent aleatorii cu operația PUT pe stocare, deci practic cu operația de încărcare a fișierelor.
Aparent aleatoriu pentru că funcționează de cele mai multe ori (aș spune 99%), dar problemele devin evidente în vizualizatorul de jurnal și bineînțeles în solicitările de asistență de la utilizatorii noștri.
Iată o intrare în jurnal (unele detalii sunt ascunse):
{
"insertId": "<id_here>",
„jsonPayload”: {
„@type”: „type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry”,
"statusDetails": "response_sent_by_backend"
},
„httpRequest”: {
"requestMethod": "PUT",
„requestUrl”: „https://storage.mydomain.it/path/2/2021-06-18/m_808/2_2021-06-18-09-09-24_m808_bdb6b3.png?GoogleAccessId=ocr-account%40mydomainiam. .gserviceaccount.com&Expires=1624000464&Signature=<signature_here>",
"requestSize": "1188472",
„starea”: 403,
"responseSize": "658",
"userAgent": "Apache-CXF/3.2.5",
"remoteIp": "88.86.183.XXX",
„latență”: „0,107676s”
},
"resursa": {
"type": "http_load_balancer",
„etichete”: {
"backend_service_name": "",
"forwarding_rule_name": "mydomain-balancer-1-forwarding-rule-2",
"url_map_name": "mydomain-balancer-1",
„target_proxy_name”: „mydomain-balancer-1-target-proxy-2”,
"project_id": "my_project_id",
"zona": "global"
}
},
„stamp”: „2021-06-18T07:09:25.037700Z”,
"severity": "AVERTISMENT",
"logName": "proiecte/myproject/logs/requests",
"trace": "proiecte/myproject/traces/cc8123c2a42e70d8d002c84efe15e5de",
„receiveTimestamp”: „2021-06-18T07:09:25.668260183Z”,
„spanId”: „e4b4a200767c9de0”
}
răspuns_trimis_de_backend este probabil un indiciu că stocarea în sine a trimis o eroare 403.
Acum, sunt multe posibile motive pentru o eroare 403, dar vizualizatorul de jurnal nu oferă alte informații.
Cum pot aborda această problemă pentru a înțelege ce se întâmplă?