Intereting Posts
Symfony 2.1 Security Sub Subdomain Использовать PHP для доступа к LinkedIn API без входа пользователя Разработка многоязычной системы mysql-сервер удалил ошибку во время установки миграции (laravel) Загрузите изображение в Amazon S3 с помощью VichUploaderBundle Php script Вставка UTF8 в MYSQL Объект класса DateTime не может быть преобразован в строку Действие HTML-формы с использованием php-файла вне корневого каталога? Как получить значение для снятого флажка в элементе флажка при отправке формы? Откройте новую почту Outlook, используя php и html. Ошибка безопасности AWS SSL: 60: SSL-сертификат …: невозможно получить сертификат локального эмитента Угловая HTTP-почта для PHP и неопределенная JetBrains WebIDE: подсказка типа переменной PHP? Как я могу узнать, является ли строка с кодировкой url UTF-8 или Latin-1 с PHP? Сессии PHP, потерянные между страницами – ведут себя по-разному в зависимости от сервера

stream_socket_client не удалось подключиться (время ожидания подключения)

Я использую сертификат, а закрытый ключ

$ctx = stream_context_create(); stream_context_set_option($ctx, 'ssl', 'local_cert', $certfile); stream_context_set_option($ctx, 'ssl', 'passphrase', $pass); $fp = stream_socket_client('ssl://gateway.xyz.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx); 

Он работает на моем локальном сервере XAMPP, но не работает на внешнем сервере:

Предупреждение: stream_socket_client () [function.stream-socket-client]: невозможно подключиться к ssl: //gateway.sandbox.push.apple.com: 2195 (время ожидания подключения) в /home/biranchi/public_html/push.php в строке 42

Не удалось подключить 110

Какая ошибка? Мне нужно изменить некоторые настройки на сервере?

Я исправил проблему, открыв порт 2195 на рабочем сервере. Вы можете проверить, выполнив команду $ telnet gateway.push.apple.com 2195

 -bash-3.2# telnet gateway.push.apple.com 2195 Trying 17.149.38.141... Connected to gateway.push.apple.com (17.149.38.141). Escape character is '^]'. Connection closed by foreign host. 

Проверьте свои персональные настройки брандмауэра и убедитесь, что вы не блокируете это. Попробуйте отключить брандмауэр.

Кроме того, некоторые API-интерфейсы, такие как запросы, поступают из реального домена, а не из рабочего стола. У меня нет причин полагать, что Apple работает таким образом, но это тоже нужно проверить.

Также убедитесь, что ping gateway.sandbox.push.apple.com и убедитесь, что у вас хорошая связь.

Вы должны установить свой брандмауэр, чтобы разрешить весь блок 17.0.0.0/8 (все это принадлежит Apple!). Проверьте ЭТО ОТВЕТ

И согласно Apple :

Серверы APN используют балансировку нагрузки, поэтому ваши устройства не всегда будут подключаться к одному и тому же общедоступному IP-адресу для уведомлений. Лучше всего разрешить доступ к этим портам во всем блоке адресов 17.0.0.0/8, который назначен Apple.

Если вы используете брандмауэр CSF (например, я), я бы рекомендовал добавить эту строку в файл csf.allow:

tcp|out|d=2195|d=17.0.0.0/8

Использование этого вместо «17.0.0.0/8» позволит использовать только внешние соединения с Apple и, в частности, с портом 2195. NSA не понравится, но это намного точнее и безопаснее! 😉