代理背后的服务器端 APNs 推送通知
Server side APNs push notification behind proxy
我需要使用服务器的控制面板发送推送通知。
服务器是一个 Linux 虚拟云盒,它位于代理后面。控制面板使用 J2EE 设计 Tomcat
我正在使用基于 JAVA 的 https://github.com/notnoop/java-apns/releases API 进行推送
代码
ApnsService service = APNS.newService().withSandboxDestination().withCert("mycert.p12", "mypassword").build();
String messageTobeSent = APNS.newPayload()
.alertBody("Message with badge 2")
.badge(2)
.alertTitle("Message with badge 2")
.sound("ding.wav")
.build();
service.push("d81f0080ed7bf05ac96261dc1805fbf00230073f606f1388a644469b1893446f", messageTobeSent, new Date());
我遇到错误无法连接到 APNS 服务器,我的问题是
- 这是代理的原因吗?
- APNs 是否适用于代理?
- 这个库是否支持代理连接?
是您的 APNS 客户端无法连接到该机器上的 APNS 服务器。请测试从您的应用程序 运行 所在的计算机到 APNS 服务器的 TCP 连接。您可以使用 nc 命令从 linux 框中测试与 APNS 服务器的连接。是的,APNS 与代理无关,因为 APNS 连接在 TCP 上工作。如果您可以将防火墙配置为连接到 APNS,那么它应该可以工作。
nc apns_server_host apns_server_port
回答你的第 3 个问题,这将解决前两个问题。 NotNoop Java-Apns绝对支持代理。
参考提供的 Java 文档 ApnsServiceBuilder withProxy(java.net.Proxy)
Specify the proxy to be used to establish the connections to Apple Servers
在你的代码中你可以输入如下内容
ApnsService service = APNS
.newService()
.withSandboxDestination()
.withProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("<your proxy host>", <your proxy port>)))
.build();
现在图书馆本身将通过代理连接
我需要使用服务器的控制面板发送推送通知。
服务器是一个 Linux 虚拟云盒,它位于代理后面。控制面板使用 J2EE 设计 Tomcat
我正在使用基于 JAVA 的 https://github.com/notnoop/java-apns/releases API 进行推送
代码
ApnsService service = APNS.newService().withSandboxDestination().withCert("mycert.p12", "mypassword").build();
String messageTobeSent = APNS.newPayload()
.alertBody("Message with badge 2")
.badge(2)
.alertTitle("Message with badge 2")
.sound("ding.wav")
.build();
service.push("d81f0080ed7bf05ac96261dc1805fbf00230073f606f1388a644469b1893446f", messageTobeSent, new Date());
我遇到错误无法连接到 APNS 服务器,我的问题是
- 这是代理的原因吗?
- APNs 是否适用于代理?
- 这个库是否支持代理连接?
是您的 APNS 客户端无法连接到该机器上的 APNS 服务器。请测试从您的应用程序 运行 所在的计算机到 APNS 服务器的 TCP 连接。您可以使用 nc 命令从 linux 框中测试与 APNS 服务器的连接。是的,APNS 与代理无关,因为 APNS 连接在 TCP 上工作。如果您可以将防火墙配置为连接到 APNS,那么它应该可以工作。
nc apns_server_host apns_server_port
回答你的第 3 个问题,这将解决前两个问题。 NotNoop Java-Apns绝对支持代理。
参考提供的 Java 文档 ApnsServiceBuilder withProxy(java.net.Proxy)
Specify the proxy to be used to establish the connections to Apple Servers
在你的代码中你可以输入如下内容
ApnsService service = APNS
.newService()
.withSandboxDestination()
.withProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("<your proxy host>", <your proxy port>)))
.build();
现在图书馆本身将通过代理连接