Video: Te-a prins radarul? Ai șanse sa scapi de amenda! | #erichmocanu 2024
Ar fi frumos ca totul să funcționeze exact așa cum a fost planificat când efectuați apelul REST către AWS. Cu toate acestea, pot apărea mai multe probleme care au ca rezultat un mesaj de eroare similar celui pe care îl vedeți aici. Rețineți că imaginea nu este completă. Valorile cheie sunt blocate pentru a menține utilitatea cheilor de acces.
Mesajele de eroare pot lua diferite forme.Problema poate veni din diferite surse. Prima remediere este codarea URL a semnăturii pentru a vă asigura că caracterele speciale din șirul de adresă URL nu confundă AWS. Un instrument pe care îl puteți folosi pentru a depăși această problemă este Decoderul / Encoder-ul URL-ului. Pentru a utiliza acest instrument, lipiți semnătura (nu întreaga adresă URL) în câmp și faceți clic pe Codare. Semnătura rezultată nu conține caractere speciale, ci folosește mai degrabă codarea URL pentru a preveni problemele.
Chiar dacă utilizați fragmente de cod furnizate de Amazon, procesul de calcul al semnăturilor poate merge, de asemenea, greșit. Priviți din nou la prima imagine, la elementele
StringToSign
și
StringToSignBytes
. Aceste elemente vă spun ce aștepta AWS când a verificat semnătura. Bineînțeles, încă nu vă dă un indiciu cu privire la valoarea pe care ar fi trebuit să o oferiți pentru o semnătură. Din fericire, testerul de semnături Amazon poate furniza aceste informații.
Descărcați testerul de semnături Amazon pe hard disk. Ceea ce obțineți este un fișier README și o pagină HTML pe care o încărcați în browserul dvs. Imaginea de mai jos arată modul în care apare partea de jos a acestei pagini. Doriți să lucrați în partea de jos a paginii deoarece conține două câmpuri pe care trebuie să le furnizați: valoarea elementului
StringToSignBytes
și cheia secretă.
Când dați clic pe Obțineți semnătura, veți vedea valoarea elementului
StringToSign
după cum o vede AWS, semnătura reală și semnătura codată pe adresa URL. Utilizați semnătura codată de URL cu apelul dvs. către AWS. Pentru a valida această semnătură, pur și simplu înlocuiți valoarea curentă din șirul de adrese URL cu această nouă valoare. Dacă problema este în codul dvs. de semnătură, apelul ar trebui să funcționeze conform așteptărilor.
Motivul pentru care doriți să verificați din nou valoarea elementului
StringToSign
este că AWS îl poate vedea diferit decât dvs. De exemplu, observați că în acest caz există trei caractere noi între
GET
și valoarea
Expires
de 1490652000. Dacă codul de calcul al semnăturii nu ia în considerare această cerință, semnătura va fi greșită.Puteți găsi aici și alte ajutoare de depanare.