Error S3: la diferencia entre la hora de la solicitud y la hora actual es demasiado grande

119

Tengo un error La diferencia entre la hora de la solicitud y la hora actual es demasiado grande cuando se llama al método amazons3.ListObjects

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

    return result;
}

¿Qué podría ser?

st78
fuente

Respuestas:

160

La hora de su caja local no está sincronizada con la hora actual. Sincronice el reloj de su sistema y el problema desaparecerá.

Marca en la rampa51
fuente
Así es. Descubierto a partir del mensaje de error. En caso de que se esté preguntando cómo encontrar la hora local en una máquina remota o en la nube, use Internet para encontrar la hora actual. timeanddate.com :)
user_v
1
Me he enfrentado al mismo error. Dígame cómo realizar la sincronización
Stas
38
Sueño con el día en que los mensajes de error sean más directos, "La hora de su servidor está configurada incorrectamente" estaría bien para mí.
Adamdport
2
La configuración de la zona horaria no debería importar. Lo importante es la precisión del tiempo establecido actualmente.
Mark At Ramp51
1
En Australia acabamos de entrar en el horario de verano (1 hora antes) y ahora se lanza este error. Mi reloj es correcto. Parece ser un error en AWS.
Lucas
74

Para aquellos que usan Vagrant, un vagrant haltseguido de vagrant upfuncionó para mí.

Zar Pino
fuente
62

El reloj no está sincronizado.

Seguí los pasos de esta publicación para que vuelva a funcionar, pero también tuve que ejecutar el siguiente comando.

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

Si en algún momento recibe un mensaje que dice que el socket NTP todavía está en uso, deténgalo sudo /etc/init.d/ntp stopy vuelva a ejecutar su comando.

manafire
fuente
3
¡Gracias! Trabajado como un encanto. :)
NightMICU
Sí, esto solucionó mi problema. Si no tiene apt-get , use yum en su lugar: sudo yum install ntp -y
Shougo Makishima
1
Trabajó. Sin sudo ntpdate ntp.ubuntu.comembargo, solo tuve que ejecutar en mi servidor.
spnkr
27

Tuve el mismo error y estoy usando Docker para Mac. Simplemente reiniciar Docker funcionó para mí.

Dylan O'Carroll
fuente
15

En caso de que alguien encuentre esto usando Laravel y Homestead, simplemente ejecute

homestead halt

seguido por

homestead up

Y estás listo para volver.

Ciudadano
fuente
15

Para aquellos que usan Docker en Windows, intente reiniciar Docker Engine en Configuración-> Restablecer-> Reiniciar Docker.

Julio Colón
fuente
Ésta no es una respuesta. Probablemente algún comentario.
hB0
8

Como han dicho otros, su reloj local no está sincronizado con AWS. Puede mantenerlo sincronizado con los servidores de Amazon directamente usando NTP para que no tenga que preocuparse por la desviación del reloj ahora o en el futuro.

Nota: Las siguientes instrucciones son para usuarios de * nix. Agregué un comentario sobre cómo podría hacerlo en Windows, pero como no soy usuario de Windows, no puedo verificar su precisión.

  1. Para instalar NTP, simplemente elija uno de los siguientes, dependiendo de su distribución:

    apt-get install ntp
    

    o

    yum install ntp 
    

    etc.

  2. Configure NTP para usar servidores de Amazon, así:

    vim /etc/ntp.conf
    

    Y en él, comente los servidores predeterminados y agregue estos:

    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. Y luego reinicie el servicio ntp:

    sudo service ntp restart
    

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

Y un artículo más general sobre cómo mantener su tiempo sincronizado con NTP: https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-12-04

Kyle Chadha
fuente
C: \ Usuarios \ Usuario> apt-get install ntp 'apt-get' no se reconoce como un comando interno o externo, programa operable o archivo por lotes.
st78
apt-getes un instalador de paquetes para ciertas distribuciones de Linux. Para Windows, puede buscar en línea la mejor manera de sincronizar con NTP. Aquí hay una referencia que encontré para win10: tenforums.com/tutorials/… , y aquí hay una para Windows Server: support.microsoft.com/en-us/help/816042/…
Kyle Chadha
4

Esto restableció el reloj de mi sistema correctamente en OSX. Las cargas de S3 usando JS SDK funcionan para mí ahora en el desarrollo local

ntpdate us.pool.ntp.org

Leer más sobre esto aquí

phoenixbox
fuente
4

si este problema en tu localhost para Windows 10

establecer la hora automáticamente en ON y establecer la zona horaria automáticamente en esto resuelve mi problema.

ingrese la descripción de la imagen aquí

Atul Baldaniya
fuente
3

Esto también puede deberse al uso de async / await con la construcción del objeto de solicitud fuera de la tarea y la llamada real a AWS dentro de la tarea. Si hay muchas tareas en ejecución y la tarea no está programada a tiempo, o hay alguna otra operación que retrasa la llamada real a AWS, se puede lanzar esta excepción.

James
fuente
1

Para deshacerse de este problema, debe ajustar el tiempo del cliente para que haya una diferencia de marca de tiempo máxima de hasta 15 minutos. También establezca la hora y la zona estándar para su sistema.

Consulte el detalle completo aquí.

Nikunj Dhimar
fuente
1

Si está utilizando una caja virtual, la hora en la máquina virtual se sincroniza con la hora de la máquina real. Simplemente fije la hora en la máquina virtual no solucionará el problema.

Thiago Mata
fuente
1

Tuve este error porque la hora y la zona horaria de mi máquina local se establecieron incorrectamente. Cambiarlos a la hora y zona horaria correctas funcionó para mí.

Adim Victor
fuente
1

Si recibe este error en Windows, siga estos pasos para resolver su problema ... Cambie la configuración de la hora local:
paso 1: haga clic en cambiar la configuración de fecha y hora
paso 2: en la ventana emergente Fecha y hora, haga clic en la pestaña Hora de Internet,
paso 3: siguiente Haga clic en Cambiar configuración
paso 4: en el menú desplegable Servidor seleccione time.nist.gov o consulte este sitio web
paso 5: haga clic en Aceptar

Reinicie su consola y verifique. Funciona...

Laxminarayana
fuente
0

Es posible que el uso de ntp no funcione en todas las versiones de su servidor basado en Linux (por ejemplo, una versión desactualizada del servidor de Ubuntu que ya no es compatible, lo que le impedirá descargar ntp si aún no está instalado).

Si esta es su situación, puede establecer zonas horarias independientes para su máquina virtual Linux: https://community.rackspace.com/products/f/25/t/650

Después de hacer esto, es posible que deba restablecer la fecha y la hora. Las instrucciones para hacer esto se encuentran en este artículo: http://codeghar.wordpress.com/2007/12/06/manage-time-in-ubuntu-through-command-line

socialmatchbox
fuente
0

Si está en 2016 y en Estambul, aquí hay una situación extraña en la que Turquía decidió no cambiar a los estándares de horario de invierno de todos modos, configure su zona horaria local en Moscú y luego reinicie su máquina.

Ömer Faruk Almalı
fuente
Creo que esto debería ser un comentario.
BlackVegetable
@BlackVegetable También pensé que podría ser un comentario pero la cosa es que si estás en una situación que mencioné y vas a seguir las instrucciones dentro de la respuesta aceptada quedará sin resolver; es por eso que esta es una respuesta que brinda una solución alternativa.
Ömer Faruk Almalı
0

Me encontré con este problema al ejecutar Jet (Codeship) y Terraform en MacOS usando Docker para Mac Beta canal 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

Esto se resolvió reiniciando Docker.

MalPlancton
fuente
0

Recién comencé a recibir este error y sincronizar mi reloj no ayuda. (He pasado 2 horas sincronizándolo con todos los servidores de tiempo que puedo encontrar, incluidos los servidores de AWS, pero nada marca la diferencia).

Exactamente lo mismo comenzó a suceder hace un año el 31 de diciembre de 2017. En ese caso, reiniciar mi sistema y reconstruir mi servidor (que usa el sdk aws java) lo solucionó. No sé por qué. Supuse que AWS tenía alguna peculiaridad de zona horaria de fin de año. También es posible que mientras hacía estas cosas, los servidores de tiempo de AWS se arreglaran solos. No tengo forma de probar esa hipótesis.

Ahora, lo mismo comenzó a suceder repentinamente el 30 de diciembre de 2018. No está bien a fin de año, pero lo suficientemente cerca como para parecer sospechoso. (Nunca recibí este error excepto en estas fechas). Reiniciar y reconstruir no está ayudando esta vez.

Mi entorno de desarrollo en esta caja es Windows 10 en Parallels. Nada más en mi sistema ha cambiado, ya que lo comprobé al volver a las instantáneas anteriores de Parallels. Los relojes de mi host MacOS y el virtual Windows 10 son correctos.

Sospecho de un error de AWS.

trueno
fuente