Errore S3: la differenza tra l'ora della richiesta e l'ora corrente è troppo grande


119

Ho un errore La differenza tra l'ora della richiesta e l'ora corrente è troppo grande quando si chiama il metodo amazons3.

ListObjectsRequest request = new ListObjectsRequest() {
    BucketName = BucketName, Prefix = fullKey 
}; 
using (ListObjectsResponse response = s3Client.ListObjects(request))
{
    bool result = response.S3Objects.Count > 0;

    return result;
}

Cosa potrebbe essere?

Risposte:


160

L'ora sulla tua casella locale non è sincronizzata con l'ora corrente. Sincronizza l'orologio di sistema e il problema scomparirà.


Giusto. Capito dal messaggio di errore. Nel caso ti stia chiedendo come trovare l'ora locale su una macchina remota o su cloud, usa Internet per trovare l'ora corrente. timeanddate.com :)
user_v

1
Ho affrontato lo stesso errore. Per favore dimmi come eseguire la sincronizzazione
Stas

38
Sogno il giorno in cui i messaggi di errore sono più diretti, "L'ora del tuo server è impostata in modo errato" mi andrebbe bene.
adamdport

2
L'impostazione del fuso orario non dovrebbe avere importanza. È la precisione dell'ora attualmente impostata che è importante.
Mark At Ramp51

1
In Australia siamo passati all'ora legale (1 ora in anticipo) e ora questo errore viene lanciato. Il mio orologio è corretto. Sembra essere un bug in AWS.
Luca

74

Per quelli che usano Vagrant, un vagrant haltseguito da ha vagrant upfunzionato per me.


62

L'orologio non è sincronizzato.

Ho seguito i passaggi in questo post per farlo funzionare di nuovo, ma ho anche dovuto eseguire il seguente comando.

sudo ntpdate ntp.ubuntu.com
sudo apt-get install ntp

Se in qualsiasi momento ricevi un messaggio che dice che il socket NTP è ancora in uso, interrompilo con sudo /etc/init.d/ntp stope riesegui il comando.


3
Grazie! Ha funzionato come un fascino. :)
NightMICU

Sì, questo ha risolto il mio problema. Se non hai apt-get , usa invece yum: sudo yum install ntp -y
Shougo Makishima

1
Lavorato. sudo ntpdate ntp.ubuntu.comTuttavia, dovevo solo funzionare sul mio server.
spnkr

27

Ho avuto lo stesso errore e sto usando Docker per Mac. Il semplice riavvio di Docker ha funzionato per me.


15

Nel caso qualcuno lo trovi usando Laravel e Homestead, semplicemente correndo

homestead halt

seguito da

homestead up

E sei a posto di nuovo.


15

Per coloro che utilizzano Docker in Windows, provare a riavviare il motore Docker in Impostazioni-> Ripristina-> Riavvia Docker.


Questa non è una risposta. Probabilmente qualche commento.
hB0

8

Come altri hanno già detto, il tuo orologio locale non è sincronizzato con AWS. Puoi mantenerlo sincronizzato con i server di Amazon direttamente utilizzando NTP in modo da non doverti preoccupare della deriva dell'orologio ora o in futuro.

Nota: le istruzioni seguenti sono per gli utenti * nix. Ho aggiunto un commento su come potresti farlo in Windows, ma come utente non Windows non posso verificarne l'accuratezza.

  1. Per installare NTP, scegli semplicemente uno dei seguenti, a seconda della tua distribuzione:

    apt-get install ntp
    

    o

    yum install ntp 
    

    eccetera.

  2. Configura NTP per utilizzare i server Amazon, in questo modo:

    vim /etc/ntp.conf
    

    E in esso, commenta i server predefiniti e aggiungi questi:

    server 0.amazon.pool.ntp.org iburst
    server 1.amazon.pool.ntp.org iburst
    server 2.amazon.pool.ntp.org iburst
    server 3.amazon.pool.ntp.org iburst
    
  3. Quindi riavvia il servizio ntp:

    sudo service ntp restart
    

Fonte: https://www.allcloud.io/how-to/how-to-fix-amazon-s3-requesttimetooskewed/

E un articolo più generale su come mantenere sincronizzato il tuo tempo con NTP: https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-12-04


C: \ Users \ User> apt-get install ntp 'apt-get' non è riconosciuto come comando interno o esterno, programma eseguibile o file batch.
st78

apt-getè un programma di installazione di pacchetti per alcune distribuzioni Linux. Per Windows, puoi cercare online il modo migliore per sincronizzarti con NTP. Ecco un riferimento che ho trovato per win10: tenforums.com/tutorials/… , ed eccone uno per Windows Server: support.microsoft.com/en-us/help/816042/…
Kyle Chadha

4

Questo ripristina correttamente il mio orologio di sistema su OSX. I caricamenti S3 utilizzando l'SDK JS ora funzionano per me nello sviluppo locale

ntpdate us.pool.ntp.org

Leggi di più su questo qui


4

se questo problema in te localhost per Windows 10

imposta l'ora automaticamente su ON e imposta il fuso orario automaticamente su ON questo risolve il mio problema.

inserisci qui la descrizione dell'immagine


3

Ciò può anche essere causato dall'utilizzo di async / await con la costruzione dell'oggetto richiesta all'esterno dell'attività e la chiamata effettiva ad AWS all'interno dell'attività. Se sono in esecuzione molte attività e l'attività non è pianificata in tempo, o se c'è qualche altra operazione che ritarda la chiamata effettiva ad AWS, questa eccezione potrebbe essere generata.



1

Se stai usando una virtualbox, l'ora nella macchina virtuale è sincronizzata con l'ora della macchina reale. Basta fissare il tempo nella macchina virtuale non risolverà il problema.


1

Ho riscontrato questo errore perché l'ora e il fuso orario della mia macchina locale erano impostati in modo errato. Cambiarli con l'ora e il fuso orario corretti ha funzionato per me.


1

Se viene visualizzato questo errore in Windows, segui questi passaggi per risolvere il problema .. Modifica l'impostazione dell'ora locale:
passaggio 1: fai clic su modifica delle impostazioni di data e ora
passaggio 2: dalla finestra popup Data e ora fai clic sulla scheda Ora Internet,
passaggio 3: Avanti Fare clic su Modifica impostazioni
passaggio 4: dal menu a discesa Server selezionare time.nist.gov o controllare questo sito Web
passaggio 5: fare clic su OK

Riavvia la tua console e controlla. Funziona...


0

L'uso di ntp potrebbe non funzionare su tutte le versioni del tuo server basato su Linux (ad esempio una versione del server Ubuntu obsoleta che non è più supportata che ti impedirà di scaricare ntp se non è già installato).

Se questa è la tua situazione, puoi impostare fusi orari indipendenti per la tua VM Linux: https://community.rackspace.com/products/f/25/t/650

Dopo aver eseguito questa operazione, potrebbe essere necessario reimpostare l'ora / la data. Le istruzioni per farlo sono in questo articolo: http://codeghar.wordpress.com/2007/12/06/manage-time-in-ubuntu-through-command-line


0

Se sei nel 2016 e ad Istanbul, ecco una strana situazione in cui la Turchia ha deciso di non passare agli standard dell'ora solare, ma imposta il fuso orario locale su Mosca, quindi riavvia la macchina.


Penso che questo dovrebbe essere un commento.
BlackVegetable

@BlackVegetable Ho anche pensato che potesse essere un commento ma il fatto è che se ti trovi in ​​una situazione che ho menzionato e seguirai le istruzioni all'interno della risposta accettata rimarrà irrisolto; ecco perché questa è una risposta che fornisce una soluzione alternativa.
Ömer Faruk Almalı

0

Ho riscontrato questo problema eseguendo Jet (Codeship) e Terraform su MacOS utilizzando Docker per il canale Mac Beta 1.13.1-beta42.

Failed to read state: Error reloading remote state: RequestTimeTooSkewed: The difference between the request time and the current time is too large.
status code: 403, request id: 9D32BA2A5360FC18

Il problema è stato risolto riavviando Docker.


0

Ho appena iniziato a ricevere questo errore e la sincronizzazione dell'orologio non aiuta. (Ho passato 2 ore a sincronizzarlo con ogni timeserver che riesco a trovare, inclusi i server AWS, ma niente fa la differenza.)

Esattamente la stessa cosa è iniziata a succedere un anno fa il 31 dicembre 2017. In tal caso, riavviando il mio sistema e ricostruendo il mio server (che utilizza aws java sdk) è stato risolto il problema. Non so perché Supponevo che AWS avesse qualche particolarità del fuso orario di fine anno. È anche possibile che mentre facevo queste cose, i timeserver AWS si siano riparati da soli. Non ho modo di testare questa ipotesi.

Ora, la stessa cosa è improvvisamente iniziata a succedere il 30 dicembre 2018. Non è giusto a fine anno, ma abbastanza vicino da sembrare sospetto. (Non ho mai ricevuto questo errore tranne in queste date.) Il riavvio e la ricostruzione non stanno aiutando questa volta.

Il mio ambiente di sviluppo su questa scatola è Windows 10 in Parallels. Niente altro sul mio sistema è cambiato, poiché ho ricontrollato tornando alle precedenti istantanee di Parallels. Gli orologi sia sul mio host MacOS che su Windows 10 virtuale sono corretti.

Sospetto un bug di AWS.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.