Error de manzana push SSL -- tifications campo con encryption campo con apns camp apple Relacionados El problema

Apple Push Notifications SSL Error


4
vote

problema

Español

Los APN trabajaron bien durante varios meses hasta las pocas semanas. Cada vez que enviamos notificaciones push, la conexión aborta con el siguiente error:

PHP ADVERTENCIA: FWRITE (): Falló la operación SSL con código 1. Mensajes de error OpenSSL: ERROR: 1409F07F: Rutinas SSL: SSL3_WRITE_PENDING: BAD WRINK RETRY

Si vuelvo a conectar y reenviar o reenviar el mensaje al servidor de Apple obtengo el mismo error. A veces puedo enviar a todos los dispositivos sin ningún problema. Pero a veces se aborta al dispositivo 900, o en el dispositivo 2000. No es el i-have-no-recopilado: los dispositivos, los dispositivos, el servicio de comentarios, el servicio y el conjunto de todos los dispositivos-a-inactivo -Error. Me estoy conectando al servicio de comentarios a intervalos regulares. Es otro tipo de error que no lo sé. Algo ha cambiado con la conexión SSL. ¿Puede ser que Apple cambie algo con la conexión SSL? Apple dijo que no lo hace. Y no admiten php.

Utilizamos php 5.3.3-7 + squeeze3 con parche de suhosina (CLI) (Construido: 28 de junio de 2011 08:24:40) . Esta es la versión PHP estable más nueva para el apretón de Debian Linux. Esta versión PHP utiliza openssl 0.9.8o (01 jun 2010) en nuestro servidor.

Ayuda.

Original en ingles

The APNS worked fine for various month until few weeks. Every time we send Push Notifications the connection aborts with the following error:

PHP Warning: fwrite(): SSL operation failed with code 1. OpenSSL Error messages: error:1409F07F:SSL routines:SSL3_WRITE_PENDING:bad write retry

If I reconnect and resend or only resend the message to the Apple server I get the same error. Sometimes I can send to all devices without any problem. But sometimes it aborts at the 900th device, or at the 2000th device. It's not the I-have-not-collected-the-devices-from-Feedback-service-and-set-all-the-devices-to-inactive-Error. I'm connecting to the Feedback Service at regular intervals. It's another kind of error I don't know. Something has changed with the SSL connection. Can it be that Apple changed something with the SSL connection? Apple said it doesn't. And they doesn't support PHP.

We use PHP 5.3.3-7+squeeze3 with Suhosin-Patch (cli) (built: Jun 28 2011 08:24:40). This is the newest stable PHP version for Debian Linux Squeeze. This PHP version uses OpenSSL 0.9.8o (01 Jun 2010) on our server.

Please help.

        

Lista de respuestas

4
 
vote

tuvo un problema similar en Python, supongo que las bibliotecas SSL subyacentes son las mismas, por lo que la solución podría ser similar.

ssl3_write_pending parece ser causado cuando un socket de escritura falla, entonces intenta escribir de nuevo. En este caso, por cualquier motivo, SSL_WRITE, requiere que vuelva a intentar la escritura con los mismos bytes exactamente que la escritura original o, de lo contrario, omite el error SSL_WRITE_PENDING.

El patrón de errores que estaba viendo fue el tiempo de espera de la conexión, luego muchos errores SSL_WRITE_PENDENGEPENDIENTES. Esto se debió a que primero uno de mis escritos falló (por ejemplo, con un error de tiempo de espera o un error cerrado de conexión porque envío una solicitud de empuje poco fiable), luego, después de ese error, estaba tratando de volver a usar el zócalo roto (y estaba devolviendo el error menos informativo ssl_write_pending)

¿Está seguro de que está utilizando una nueva conexión de socket cuando se vuelva a conectar y reenviar "? Debido a que no hubiera pensado que deberías obtener SSL_WRITE_PENDING en una conexión de zócalo fresco al servidor APNS.

Otra cosa que podría ayudar es utilizar el formato de notificación mejorado, ya que, en su caso, si envía accidentalmente un empuje roto al servidor de Apple, le enviará un código de error antes de cerrar la conexión. Si aún no está usando mejorado, sería bueno hacerlo porque entonces puede asegurarse de que no está haciendo errores simples, como un token incorrecto o la carga útil, demasiadas cosas.

 

Had a similar problem in python, I guess the underlying ssl libraries are the same so the solution might be similar.

SSL3_WRITE_PENDING seems to be caused when a socket write fails then you try to write again. In this case for whatever reason SSL_write requires you to retry the write with the exact same bytes as the original write or else it omits the SSL_WRITE_PENDING error.

The pattern of errors I was seeing was Connection Timeout, then lots of SSL_WRITE_PENDING errors. This was because first one of my writes failed (say with maybe a timeout error or connection closed error because I send a dodgy push request), then after that error I was continually trying to re-use the broken socket (and it was giving back the less-than-informative SSL_WRITE_PENDING error)

Are you sure that you're using a new socket connection when you 'reconnect and resend'? Because I wouldn't have thought you should get SSL_WRITE_PENDING on a fresh socket connection to the APNS server.

Another thing that could help is using the enhanced notification format, because then if you accidentally send a broken push to the Apple server, it will send you an error code back before closing the connection on you. If you're not already using enhanced then it would be good to do so because then you can make sure you're not making simple errors like wrong token or payload too long things.

 
 

Relacionados problema

5  Deshabilitar la advertencia de la batería para el teclado y el mouse Bluetooth  ( Disable battery warning for bluetooth keyboard and mouse ) 
Me gustaría deshabilitar las ventanas emergentes de notificación extremadamente molestas cuando mis baterías de mouse o teclados Bluetooth se están bajando. T...

2  Alertas repetidas después de una llamada perdida en un iPhone  ( Repeated alerts after a missed call on an iphone ) 
¿Cómo puedo recibir alertas repetidas después de una llamada perdida en un iPhone SE? Estoy buscando alguna forma de parpadear el LED Flash y vibrate , p...

0  Apple Push Push Notification Relabity  ( Apple push notification reliablity ) 
Tengo una aplicación apoyada tanto en Android como en iOS. La aplicación necesita un servicio de fondo que hice un servidor remoto cada minuto. El trabajo es ...

3  Silenciando "su disco es casi notificaciones". ¿Que funciona? [duplicar]  ( Silencing your disk is almost full notifications what works ) 
Esta pregunta ya tiene respuestas aquí : silenciando "Su disco está casi lleno" Notificación ...

2  Detener notificaciones de una aplicación eliminada  ( Stop notifications from a deleted app ) 
Tengo la historia de la aplicación para mi iPod Touch hace un tiempo, y luego decidí que no me gustaba y lo eliminó. Parte de la razón por la que me deshice d...

8  Deshabilitar una aplicación específica desde siempre reboting en el muelle  ( Disable a specific app from ever bouncing in dock ) 
Quiero detener a FileZilla desde siempre que salga en mi muelle. Simplemente sigue rebotando y rebotando y descarrilado por mi trabajo. ¿Es posible evitar q...

27  ¿Cómo deshabilitar temporalmente todas las notificaciones de iOS al usar / reflejando activamente el dispositivo?  ( How to disable all ios notifications temporarily while actively using mirroring ) 
Yo uso My Ipad Mucho, ya que enseño, que muestra las diapositivas de los alumnos, los videos, etc. Tener palabras con amigos, dibujar algo o notificación po...

5  Habilitación de notificaciones de noticias de última hora en Sierra  ( Enabling breaking news notifications on sierra ) 
En un nuevo sistema que ejecuta MacOS Sierra, ¿cómo habilitar las notificaciones para los horarios de NY, o cualquier otra fuente de noticias? Un cliente vi...

3  ¿Dónde dijo Mail.app acaba de poner mi correo electrónico?  ( Where did mail app just put my email ) 
Mail.App parece incorporado para castigarnos por no tener la banda-cero. Escuché que un timbre me dijo que ha llegado un nuevo correo, pero con una lista de...

20  ¿Hay alguna manera de suprimir los recuentos de insignias y el ícono de Dock Bounce para Terminal.App en León?  ( Is there a way to suppress badge counts and the dock icon bounce for terminal ap ) 
Con las nuevas funciones de ahorro de estado (que quiero mantener), las notificaciones del muelle son más agregadas para mí en León. ¿Puedo suprimir el rebote...

6  ¿Hay alguna manera de obtener una notificación emergente en mi iPhone o iPad cuando llegue el correo?  ( Is there any way to get a pop up notification on my iphone or ipad when mail arr ) 
Tengo gmail configurado para enviarme "verdaderos" notificaciones push (usando la configuración del servidor de Exchange). Así que mi correo llega en tiempo r...

3  ¿Cómo archivar notificaciones de iOS?  ( How to archive ios notifications ) 
Me gustaría grabar / guardar mis notificaciones de iOS (por ejemplo, juegos y aplicaciones) a medida que se presentan como parte de un proyecto de estadística...

1  Las insignias de notificación no funcionan bien con múltiples dispositivos iOS  ( Notification badges doesnt work well with multiple ios devices ) 
Cuando reviso, digamos, mis nuevos mensajes de Instagram Direct en mi iPhone, la insignia de notificación roja no desaparece automáticamente de la aplicación ...

9  ¿Cómo puedo deshabilitar la "bienvenida, nombre!" Banner Notification for Game Center?  ( How can i disable the welcome name banner notification for game center ) 
según esta pregunta He encontrado Banners para causar la desaceleración de IOS 5, resulta que el mensaje "Bienvenido, se ha firmado". El mensaje de Game tam...

6  ¿Qué determina cuándo mi reloj Apple utiliza un grifo háptico para una notificación?  ( What determines when my apple watch uses a haptic tap for a notification ) 
Algunas notificaciones en mi reloj de Apple (por ejemplo, Viber ) Use un toque háptico cuando aparezcan en mi reloj de Apple. Otros (por ejemplo, Facebook )...




© 2021 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos


Licensed under cc by-sa 3.0 with attribution required.