2

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

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

并且相同的代码和证书在另一台服务器上运行良好。

请让我知道为什么我们会收到此错误?谢谢,

4

2 回答 2

3

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

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

setsebool -P httpd_can_network_connect=1

-P用于永久设置。

我希望它有所帮助,虽然这个线程被接受

于 2013-07-11T14:24:20.673 回答
0

我整理了一下。是的,问题出在服务器上,但这很可能是由于他们获得了 root 权限并重新加载了东西。简而言之,有一个非常严格的安全系统,称为“selinux”。所以我禁用了它,并设置了配置,使其在重新启动后保持关闭。推送通知现在工作正常。

于 2013-01-25T08:42:38.080 回答