我在向服务器发送推送通知请求时遇到问题。在尝试连接到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
相同的代码和证书在另一台服务器上运行正常。
请告诉我们为什么会收到此错误?谢谢,
答案 0 :(得分:3)
有一种比完全禁用SELinux更好的解决方案。问题是在大多数SELinux系统上(如我所使用的RedHat),不允许HTTPD创建网络连接。
您可以使用此命令启用它:
setsebool -P httpd_can_network_connect=1
-P
永久设置。
我希望它有所帮助,尽管这个帖子被接受了
答案 1 :(得分:0)
我整理出来了。是的,问题是服务器,但可能是因为他们有root并重新加载东西。简而言之,有一个非常严格的安全系统叫做“selinux”。所以我禁用了它,并设置配置,使其在重启后保持关闭状态。推送通知现在正常工作。