Push-уведомление iPhone не может подключиться к серверу SSL

StackOverflow https://stackoverflow.com/questions/1444355

Вопрос

Я следовал инструкциям по адресу:

Как создать сервер провайдера push-уведомлений Apple Когда я запускаю скрипт php на моем MacOSX или в Windows, используя рабочий стол Parallel, скрипт работает. Но как только я запускаю его на своем хостинге, я получаю сообщение:

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 или вы также можете попробовать UrbanAirship, который обеспечивает интеграцию с Apple Notification Service и бесплатен для определенного лимита в месяц.

Другие советы

Да, вам нужен сертификат. Это объясняется в документации Apple. Один улов, вам, вероятно, потребуется преобразовать сертификат в формат .pem. Сертификат .pem должен включать как сертификат, так и закрытый ключ RSA.

Вот хороший сайт для чтения:

Я обнаружил, что самым простым и дешевым решением было запросить выделенный IP у вашей хостинговой компании. На Blue Host это было $ 2,50 в месяц. С этим выделенным IP-адресом они были готовы открыть порты 2195 и 2196.

scroll top