4

問題: APNS サーバーにアクセスできません。110 接続タイムアウト エラーが発生します。

私の状況:

  1. ホスト (hostmonster) に連絡しました。私のポート 2195,2196 はすでに開いているとのことでした。
  2. ローカルの Mac からテストしたので、証明書とパスフレーズは問題​​ありません。
  3. テストには非常に単純な PHP を使用します。これが私のコードです:

    $ctx = stream_context_create();
    stream_context_set_option($ctx, 'ssl', 'local_cert', 'apn.pem');
    stream_context_set_option($ctx, 'ssl', 'passphrase', 'aaa');
    $fp = stream_socket_client("ssl://gateway.sandbox.push.apple.com:2195", $err,     
          $errstr,60,STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT,$ctx);
    
    if ($fp)
        echo ('aa');
    else
        echo ($err.$errstr);
    
4

1 に答える 1

10

私はまったく同じ問題を抱えていましたが、Bluehost. 私の場合、Bluehost ファイアウォールが適切に開かれていないことがわかりました。Bluehost の最初のチャット サポートによると、ポート 2195 と 2196 は開いており、問題はありませんでした。問題が彼らの側にあることを示すために、Bluehost サーバーから次の telnet コマンドを実行するように依頼しました。

telnet gateway.push.apple.com 2195

Trying 17.149.36.246...
Trying 17.149.35.166...
Trying 17.149.35.170...
Trying 17.149.35.177...
... Connection timed out

出力は次のようになります。

telnet gateway.push.apple.com 2195

Trying 17.149.36.230...
Connected to gateway.push.apple.com.
Escape character is '^]'.

次に、この情報を含むサポート チケットを Bluehost に送信しました。ファイアウォールを適切に開くことで、6 時間で問題を解決しました。

于 2013-06-23T12:40:44.663 に答える