Pregunta

Seguí las instrucciones en:

Cómo construir un servidor proveedor de notificaciones push de Apple Cuando ejecuto el script php en mi MacOSX o en Windows usando el escritorio paralelo, el script funciona. Pero tan pronto como lo ejecuto en mi hosting recibo el mensaje:

Warning: stream_socket_client() [function.stream-socket-client]: unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Connection timed out) in provider.php on line 23
Failed to connect 110 Connection timed out 

¿Tiene esto que ver con los certificados? Si es así, ¿cómo puedo hacer un certificado que pueda funcionar en la computadora donde se encuentra mi alojamiento?

¿Fue útil?

Solución

Su proveedor de alojamiento probablemente no permita conexiones salientes a los puertos 2195 y 2196. La mayoría de los proveedores de alojamiento compartido no tienen esos puertos abiertos. Es posible que necesite obtener un VPS o también puede probar UrbanAirship, que proporciona la integración del Servicio de notificaciones de Apple y es gratuito por un cierto límite por mes.

Otros consejos

Sí, necesita un certificado. Esto se explica en los documentos de Apple. Una trampa, probablemente necesitará convertir el certificado al formato .pem. El certificado .pem debe incluir tanto el certificado como la clave privada RSA.

Aquí hay un buen sitio para leer: http://www.macoscoders.com/2009/05/17/iphone-apple-push-notification-service-apns/

Mi pem se ve así:

Bag Attributes
    friendlyName: Apple Development Push Services: <my data>
    localKeyID: <my local key in hexascii> 
subject=/UID=com.my.push.sandbox1/CN=Apple Development Push Services: <my data>/C=US
issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
-----BEGIN CERTIFICATE-----
<my certificate data omitted>
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
<my key data omitted>
-----END RSA PRIVATE KEY-----

Encontré que la solución más simple y barata era solicitar una IP dedicada de su empresa de alojamiento. En Blue Host costaba $ 2.50 al mes. Con esta IP dedicada, estaban dispuestos a abrir los puertos 2195 y 2196.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top