iPhone Push Notification Não é possível conectar ao servidor SSL
-
22-07-2019 - |
Pergunta
Eu segui as instruções em:
Como construir um push Notification Provedor da Apple servidor Quando eu executar o script php no meu MacOSX ou no Windows usando área de trabalho paralelo, o script funciona. Mas assim que eu executá-lo no meu hospedagem recebo a mensagem:
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
Será que isso tem a ver com os certificados? Se assim como eu posso fazer um certificado que poderia trabalhar no computador onde a minha hospedagem está localizado.
Solução
O seu provedor de hospedagem, provavelmente, não permite saída ligações a portos 2195 e 2196. A maioria provedores de hospedagem compartilhada não tem as portas abertas. Talvez seja necessário obter um VPS ou você também pode tentar UrbanAirship que fornece a Apple integração Notification Service e é gratuito para um certo limite por mês.
Outras dicas
Sim, você precisa de um certificado. Isto é explicado na documentação da Apple. Uma captura, você provavelmente terá que converter o certificado para o formato .pem. As necessidades de cert .pem para incluir o certificado ea chave privada RSA.
Aqui é um bom local para ler: http://www.macoscoders.com/2009/05/17/iphone-apple-push-notification-service-apns/
As minhas PEM se parece com:
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-----
Eu encontrei a solução mais simples e mais barato foi para solicitar um IP dedicado de sua empresa de hospedagem. No Blue Host que foi de US $ 2,50 por mês. Com este IP dedicado, eles estavam dispostos a abrir portas 2195 e 2196.