문제

나는 다음의 지침을 따랐다.

Apple Push Notification 제공자 서버를 구축하는 방법병렬 데스크탑을 사용하여 MacOSX 나 Windows에서 PHP 스크립트를 실행하면 스크립트가 작동합니다. 그러나 호스팅에서 실행하자마자 메시지를받습니다.

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 

이것은 인증서와 관련이 있습니까? 그렇다면 호스팅이있는 컴퓨터에서 작동 할 수있는 인증서를 어떻게 만들 수 있습니까?

도움이 되었습니까?

해결책

호스팅 제공 업체는 아마도 포트 2195 및 2196에 대한 아웃 바운드 연결을 허용하지 않을 것입니다. 대부분의 공유 호스팅 제공 업체에는 해당 포트가 열리지 않습니다. VPS를 가져와야 할 수도 있고 Apple 알림 서비스 통합을 제공하고 한 달에 특정 제한을 위해 무료 인 Urbanairship을 사용해 볼 수도 있습니다.

다른 팁

예, 인증서가 필요합니다. 이것은 Apple Docs에 설명되어 있습니다. 한 가지 캐치, 아마도 cert를 .pem 형식으로 변환해야 할 것입니다. .pem 인증에는 인증서와 RSA 개인 키가 모두 포함되어야합니다.

다음은 읽기에 좋은 사이트입니다. http://www.macoscoders.com/2009/05/17/iphone-apple-push-notification-service-apns/

내 pem은 다음과 같습니다.

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-----

가장 간단하고 저렴한 솔루션은 호스팅 회사에게 전용 IP를 요청하는 것이 었습니다. Blue Host에서는 한 달에 $ 2.50였습니다. 이 전용 IP를 사용하면 포트 2195 및 2196을 기꺼이 열었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top