Apple apns'Permission denied'问题

时间:2013-01-15 07:33:56

标签: apple-push-notifications apns-php

我在向服务器发送推送通知请求时遇到问题。在尝试连接到Apple服务器时,我们收到以下响应,

ApnsPHP [15748]:信息:尝试ssl://gateway.sandbox.push.apple.com:2195 ...星期二,2013年1月15日08:20:28 +0100 ApnsPHP [15748]:错误:无法连接到' ssl://gateway.sandbox.push.apple.com:2195':权限被拒绝(13)

我们检查了服务器设置,服务器没有阻止任何外出请求。我们按照apple的指导创建了p12证书,我们通过在服务器中执行以下shell命令将其转换为.pem。

openssl pkcs12 -in HSPushNopassword.p12  -out HSPushNopassword.pem  -nodes -clcerts

相同的代码和证书在另一台服务器上运行正常。

请告诉我们为什么会收到此错误?谢谢,

2 个答案:

答案 0 :(得分:3)

有一种比完全禁用SELinux更好的解决方案。问题是在大多数SELinux系统上(如我所使用的RedHat),不允许HTTPD创建网络连接。

您可以使用此命令启用它:

setsebool -P httpd_can_network_connect=1

-P永久设置。

我希望它有所帮助,尽管这个帖子被接受了

答案 1 :(得分:0)

我整理出来了。是的,问题是服务器,但可能是因为他们有root并重新加载东西。简而言之,有一个非常严格的安全系统叫做“selinux”。所以我禁用了它,并设置配置,使其在重启后保持关闭状态。推送通知现在正常工作。