APNS连接失败 [英] APNS connection failure
问题描述
APNS推送服务在客户端面临的问题.服务器端正常,当特定设备卡住时,它会正确地将推送发送到APNS.这是服务器日志.
Facing problem with APNS push services at client end. Server side is ok and it sends push to APNS properly as particular devices get stuck at some moment. Here are the server logs.
VOIP推送:推送通知等待APNs网关.
VOIP Push: Push notification waiting by APNs gateway.
VOIP推送:推送通知已被APNs网关接受.
VOIP Push: Push notification accepted by APNs gateway.
以下是受影响设备的控制台日志
default 09:16:30.203262 +0400 apsd Connection 1507: enabling TLS
default 09:16:30.203409 +0400 apsd Connection 1507: starting, TC(0x0)
default 09:16:30.203504 +0400 apsd [C1507 DBE7C1B4-DC94-4B2A-BD21-63661595E267 Hostname#45fde594:443 tcp, url hash: f51ce5f3, tls] start
default 09:16:30.204664 +0400 apsd nw_connection_report_state_with_handler_on_nw_queue [C1507] reporting state preparing
default 09:16:30.205294 +0400 mDNSResponder [R80990] DNSServiceCreateConnection START PID[99](apsd)
default 09:16:30.205592 +0400 mDNSResponder [R80991] DNSServiceGetAddrInfo(C000D000, 0, 0, ) START PID[99](apsd)
default 09:16:30.206815 +0400 apsd Task . setting up Connection 1507
default 09:16:30.208190 +0400 apsd nw_connection_report_state_with_handler_on_nw_queue [C1507] reporting state failed error DNS Error: NoSuchRecord
error 09:16:30.208282 +0400 apsd Connection 1507: received failure notification
error 09:16:30.208361 +0400 apsd Connection 1507: failed to connect 12:8, reason -1
error 09:16:30.208448 +0400 apsd Connection 1507: encountered error(12:8)
default 09:16:30.208522 +0400 apsd Connection 1507: is being canceled
default 09:16:30.208600 +0400 mDNSResponder [R80990] DNSServiceCreateConnection STOP PID[99](apsd)
default 09:16:30.208678 +0400 mDNSResponder [R80991] DNSServiceGetAddrInfo() STOP PID[99](apsd)
default 09:16:30.208848 +0400 apsd Connection 1507: summary for unused connection {protocol="(null)", domain_lookup_duration_ms=0, connect_duration_ms=0, secure_connection_duration_ms=0, idle_duration_ms=0}
default 09:16:30.208932 +0400 apsd [C1507 DBE7C1B4-DC94-4B2A-BD21-63661595E267 Hostname#45fde594:443 tcp, url hash: f51ce5f3, tls] cancel
default 09:16:30.209009 +0400 apsd [C1507 Hostname#45fde594:443 tcp, url hash: f51ce5f3, tls] cancelled
default 09:16:30.209091 +0400 apsd 0.000s [C1507 29735B49-F0FB-40A5-A092-F15E19D8B4B0 Hostname#45fde594:443 resolver path=satisfied (Path is satisfied), interface: en0, ipv4, dns] path:start
default 09:16:30.209174 +0400 apsd 0.000s [C1507 29735B49-F0FB-40A5-A092-F15E19D8B4B0 Hostname#45fde594:443 resolver path=satisfied (Path is satisfied), interface: en0, ipv4, dns] path:satisfied
default 09:16:30.209260 +0400 apsd 0.001s [C1507 29735B49-F0FB-40A5-A092-F15E19D8B4B0 Hostname#45fde594:443 resolver path=satisfied (Path is satisfied), interface: en0, ipv4, dns] resolver:start_dns
default 09:16:30.209341 +0400 apsd 0.003s [C1507 29735B49-F0FB-40A5-A092-F15E19D8B4B0 Hostname#45fde594:443 resolver path=satisfied (Path is satisfied), interface: en0, ipv4, dns] path:trigger
default 09:16:30.209427 +0400 apsd 0.004s [C1507 29735B49-F0FB-40A5-A092-F15E19D8B4B0 Hostname#45fde594:443 resolver path=satisfied (Path is satisfied), interface: en0, ipv4, dns] resolver:receive_dns DNS Error: NoSuchRecord
default 09:16:30.209509 +0400 apsd 0.005s [C1507] path:cancel
default 09:16:30.209821 +0400 apsd nw_connection_report_state_with_handler_on_nw_queue [C1507] reporting state cancelled error DNS Error: NoSuchRecord
default 09:16:30.209998 +0400 apsd Task . can retry(N) with reason(2) for error [12:8]
default 09:16:30.211029 +0400 apsd _CFNetworkIsConnectedToInternet returning 1, flagsValid: 1, flags: 0x2
error 09:16:30.211367 +0400 apsd Task . HTTP load failed, 0/0 bytes (error code: -1003 [12:8])
default 09:16:30.211510 +0400 apsd Task . summary for task failure {transaction_duration_ms=9, response_status=0, cache_hit=0}
default 09:16:30.211758 +0400 apsd removing all entries config 0x100f3bfc0
default 09:16:30.212028 +0400 apsd removing all entries config 0x100f3bfc0
default 09:16:30.212151 +0400 apsd Calling configuration completion blocks, expiration date Thu Dec 12 09:31:30 2019 error: Error Domain=NSURLErrorDomain Code=-1003 "A server with the specified hostname could not be found." UserInfo={NSUnderlyingError=0x102121bc0 {Error Domain=kCFErrorDomainCFNetwork Code=-1003 UserInfo={_kCFStreamErrorCodeKey=8, _kCFStreamErrorDomainKey=12}}, NSErrorFailingURLStringKey=, NSErrorFailingURLKey=, _kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8, NSLocalizedDescription=A server with the specified hostname could not be found.}
default 09:16:30.212393 +0400 apsd APSTCPStream got config -- opened? YES
default 09:16:30.212593 +0400 apsd Failed to load config bag: Error Domain=NSURLErrorDomain Code=-1003 "A server with the specified hostname could not be found." UserInfo={NSUnderlyingError=0x102121bc0 {Error Domain=kCFErrorDomainCFNetwork Code=-1003 UserInfo={_kCFStreamErrorCodeKey=8, _kCFStreamErrorDomainKey=12}}, NSErrorFailingURLStringKey=, NSErrorFailingURLKey=, _kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8, NSLocalizedDescription=A server with the specified hostname could not be found.}
default 09:16:30.212700 +0400 apsd Using DNS TXT record lookup to determine load balance count for development
default 09:16:30.212786 +0400 apsd performing DNS lookup for
default 09:16:30.213329 +0400 mDNSResponder [R80992] DNSServiceQueryRecord(0, 0, , TXT) START PID[99](apsd)
default 09:16:30.214890 +0400 apsd Closing with environment [development]
default 09:16:30.215049 +0400 mDNSResponder [R80992] DNSServiceQueryRecord(0, 0, , TXT) STOP PID[99](apsd)
default 09:16:30.215730 +0400 apsd : Stream error occurred for onInterface NonCellular: Error Domain=APSErrorDomain Code=1 UserInfo={NSLocalizedDescription=}
default 09:16:30.215855 +0400 apsd : Calling into AWD for ConnectionDisconnected (withError)
default 09:16:30.217664 +0400 apsd : AWD for ConnectionDisconnected (withError) finished
default 09:16:30.217741 +0400 apsd _disconnectStream for interface: NonCellular
default 09:16:30.217821 +0400 apsd asked to change isSuspended=NO to NO
default 09:16:30.217896 +0400 apsd Closing with environment [development]
default 09:16:30.217972 +0400 apsd : enableNonCellularConnections changed to NO
default 09:16:30.218458 +0400 apsd Connection closed development NonCellular
default 09:16:30.218633 +0400 apsd canUseProxy? NO deviceConfiguration NO isNearby NO
default 09:16:30.218706 +0400 apsd received courierConnectionStatusDidChange from .
default 09:16:30.218877 +0400 apsd canUseProxy? NO deviceConfiguration NO isNearby NO
default 09:16:30.219036 +0400 apsd canUseProxy? NO deviceConfiguration NO isNearby NO
default 09:16:30.219115 +0400 apsd updating network guidance isConnected? YES
default 09:16:30.219271 +0400 apsd canUseProxy? NO deviceConfiguration NO isNearby NO
default 09:16:30.219404 +0400 apsd canUseProxy? NO deviceConfiguration NO isNearby NO
default 09:16:30.219532 +0400 apsd : Disconnected in response to connection failure on interface NonCellular. (Consecutive failures: 24) isConnected NO onInterface None shouldUseDualChannel YES. Connected on 0 interfaces.
default 09:16:30.219596 +0400 apsd Created metric container: 0x130002 succeeded? YES
default 09:16:30.220000 +0400 apsd Connection method alternative changed to 1
default 09:16:30.220094 +0400 apsd Advising client to enter reconnect mode in response to a connection failure since currently in reconnect mode
default 09:16:30.220166 +0400 apsd Resuming push keep alive timer in normal mode with action PCActionShrinkPushKeepAliveInterval
default 09:16:30.220230 +0400 apsd Last timer interruption was early: []. Expected fire time was [].
default 09:16:30.220300 +0400 apsd WiFi growth algorithm-IPv4: received action PCActionShrinkPushKeepAliveInterval while in stage Backoff
default 09:16:30.220366 +0400 apsd {keep alive interval = 600, state = Backoff, next recalibration date = (null)}: adjustGrowthAlgorithmMode. {lastMode: Defaults, currentMode: Defaults}
default 09:16:30.220431 +0400 apsd created
default 09:16:30.220506 +0400 apsd Started simple timer with fire date [2019-12-12 09:27:05 +0400]
default 09:16:30.220713 +0400 apsd created preventSleepTimer and fireTimer on queue
default 09:16:30.221159 +0400 apsd Enabling power monitoring for - 6 timers
default 09:16:30.221275 +0400 apsd Existing wake at (null) re-scheduling to 2019-12-12 09:26:50 +0400 with leeway of 0
default 09:16:30.221551 +0400 apsd Request to schedule wake 1 date 2019-12-12 09:26:50 +0400 leeway 0 service identifier com.apple.apsd(sandbox.push.apple.com)-NonCellular unique identifier
default 09:16:30.221693 +0400 apsd calculating _earlyFireDate. powerStateDetectionSupported = NO = (detectionSupported(YES) && (wwanIsUp(NO) || ! internetReachable(YES)))
default 09:16:30.221779 +0400 apsd Last system wake date (2019-12-12 09:11:10 +0400) was longer than half of the timer duration, so setting minimum fire date to fire date.
default 09:16:30.221867 +0400 apsd Device is plugged in, overriding earlyFireProportion to be 1.0
default 09:16:30.222061 +0400 apsd Calculated minimum fire date [2019-12-12 09:27:05 +0400] (100%) with fire date [2019-12-12 09:27:05 +0400], start date [2019-12-12 09:16:30 +0400], minimum early fire proportion 0, power state detection supported: no, in high power state: no, early fire constant interval 0.000000
default 09:16:30.222194 +0400 apsd PCConnectionManager was stopped by client
default 09:16:30.222261 +0400 apsd Invalidating timer
default 09:16:30.222322 +0400 apsd Invalidating simple timer
default 09:16:30.222699 +0400 apsd Scheduling a wake for date leeway 0 wake identifier
default 09:16:30.224084 +0400 apsd Wake schedule for ''() completed for [] (took 0.002 seconds; result code 0)
default 09:16:30.225070 +0400 apsd Canceling system wake for simpletimer [2019-12-12 09:26:50 +0400]
default 09:16:30.225159 +0400 apsd Request to schedule wake 0 date 2019-12-12 09:26:50 +0400 leeway 0 service identifier com.apple.apsd(sandbox.push.apple.com)-NonCellular unique identifier
default 09:16:30.225385 +0400 apsd APSCourier adjusting connection. Connected on 0 interfaces. Current link quality:
default 09:16:30.225498 +0400 apsd Disabling power monitoring for - 5 timers
default 09:16:30.225646 +0400 apsd canUseProxy? NO deviceConfiguration NO isNearby NO
default 09:16:30.225720 +0400 apsd calling _connectStream with interface preference NonCellular
default 09:16:30.225800 +0400 apsd attempting to _connectStream. currently onInterface None consecutiveFailures 24 preference NonCellular shouldUseDualChannel YES. Connected on 0 interfaces.
default 09:16:30.225869 +0400 apsd _getClientIdentity: already had identity:
default 09:16:30.225929 +0400 apsd _connectStream - Stopping the connectionManager on our attemptInterface NonCellular
default 09:16:30.225990 +0400 apsd PCConnectionManager was stopped by client
default 09:16:30.226047 +0400 apsd : isWWANUsable NO isWiFiUsable YES onInterface NonCellular
default 09:16:30.226112 +0400 apsd : enableNonCellularConnections changed to YES
default 09:16:30.226165 +0400 apsd Opening stream on interface NonCellular
default 09:16:30.226214 +0400 apsd Cancelling scheduled wake for wake identifier
default 09:16:30.226560 +0400 apsd Opening with environment [development]
default 09:16:30.226659 +0400 apsd loadConfigurationForEnvironment: development interface: NonCellular
default 09:16:30.227135 +0400 apsd Task . resuming, QOS(0x15) Voucher (null)
default 09:16:30.227218 +0400 apsd Wake cancel for ''() completed for [] (took 0.002 seconds; result code 0)
default 09:16:30.227330 +0400 apsd Opening stream onInterface: NonCellular, development
default 09:16:30.227496 +0400 apsd : Connecting courier stream using configuration bag at and port TCP 443
default 09:16:30.227752 +0400 apsd Closing with environment [development]
default 09:16:30.227837 +0400 apsd Task . {strength 0, tls 4, ct 0, sub 0, sig 1, ciphers 0, bundle 1, builtin 0}
default 09:16:30.228815 +0400 apsd Connection 1508: enabling TLS
default 09:16:30.228964 +0400 apsd Connection 1508: starting, TC(0x0)
default 09:16:30.229353 +0400 apsd [C1508 F67A490F-3214-41AE-AC96-0CD52FC88397 Hostname#45fde594:443 tcp, url hash: f51ce5f3, tls] start
default 09:16:30.230101 +0400 symptomsd NBSM: received symptom that apsd is failing on WiFi in state: idle
default 09:16:30.231119 +0400 apsd nw_connection_report_state_with_handler_on_nw_queue [C1508] reporting state preparing
default 09:16:30.231365 +0400 mDNSResponder [R80993] DNSServiceCreateConnection START PID[99](apsd)
default 09:16:30.231620 +0400 mDNSResponder [R80994] DNSServiceGetAddrInfo(C000D000, 0, 0, ) START PID[99](apsd)
default 09:16:30.232216 +0400 apsd Task . setting up Connection 1508
default 09:16:30.233279 +0400 mDNSResponder [R80993] DNSServiceCreateConnection STOP PID[99](apsd)
default 09:16:30.233462 +0400 mDNSResponder [R80994] DNSServiceGetAddrInfo() STOP PID[99](apsd)
default 09:16:30.233983 +0400 apsd nw_connection_report_state_with_handler_on_nw_queue [C1508] reporting state failed error DNS Error: NoSuchRecord
error 09:16:30.234066 +0400 apsd Connection 1508: received failure notification
error 09:16:30.234124 +0400 apsd Connection 1508: failed to connect 12:8, reason -1
error 09:16:30.234179 +0400 apsd Connection 1508: encountered error(12:8)
default 09:16:30.234443 +0400 apsd Connection 1508: is being canceled
default 09:16:30.234525 +0400 apsd Connection 1508: summary for unused connection {protocol="(null)", domain_lookup_duration_ms=0, connect_duration_ms=0, secure_connection_duration_ms=0, idle_duration_ms=0}
default 09:16:30.234584 +0400 apsd [C1508 F67A490F-3214-41AE-AC96-0CD52FC88397 Hostname#45fde594:443 tcp, url hash: f51ce5f3, tls] cancel
default 09:16:30.234681 +0400 apsd [C1508 Hostname#45fde594:443 tcp, url hash: f51ce5f3, tls] cancelled
推荐答案
遇到类似的情况,即没有推送到达,并且在查询sandox.push.apple.com时记录了dns错误
Encountered a similar situation where no push was arriving, and dns errors were logged when querying sandox.push.apple.com
一个解决方法是将手机更改为在WiFi设置中使用Google(8.8.8.8)或Cloudflare(1.1.1.1)等替代DNS.
A fix was to change the phones to use an alternative DNS like Google (8.8.8.8) or Cloudflare (1.1.1.1) in the wifi settings.
这篇关于APNS连接失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!