2012-06-09 2 views
1

apn 모듈 (https://github.com/argon/node-apn)을 사용하여 NodeJS에서 iPhone으로 푸시 알림을 보내고 있습니다.NodeJS APN 모듈이 Ubuntu에서 인증서 파일을 찾을 수 없습니다.

내 개발 시스템 (Mac OSX)에서 코드가 올바르게 작동하고 Apple 샌드 박스 게이트웨이 (gateway.sandbox.push.apple.com)를 통해 알림을 푸시하지만 성공적으로 스테이징 서버로 이동합니다. 우분투) 푸시 알림을 실행하면 메시지와 함께 실패합니다

Error: ENOENT, no such file or directory 'apns-dev-cert.pem' 

을 나는 등의 NodeJS APN 객체를 설정하고 : 내 개발 맥 OSX의 시스템에서

var options = { 
    cert: "apns-dev-cert.pem",   
    key: "apns-key.pem",    
    passphrase: null, 
    gateway: "gateway.sandbox.push.apple.com",    
    port: 2195,       
    enhanced: true,      
    errorCallback: undefined,      
    cacheLength: 5         
}; 

은 인증서가 키 체인에 설치됩니다. Ubuntu에 대한 나의 제한된 이해에서, 등가물은/etc/ssl/certs에 cert 파일을 복사하는 것입니다. 나는 이것을 시도하고 내 NodeJS 코드에서 "/etc/ssl/certs/apn-dev-cert.pem"경로를 변경했지만 동일한 오류 메시지가 나타납니다.

아이디어가 있으십니까?

+0

위의 소스 파일을 보관 한 Pem 파일을 유지하고 시도하십시오. !!!! –

답변

3

fs 모듈이 파일을 읽는 방식을 이해하지 못했을 때까지이 문제로 많은 어려움을 겪었습니다. 분명히, 노드 프로세스를 시작한 디렉토리에서이를 읽습니다. 따라서 파일의 경로는 어디서나 상대적인 위치에 있어야합니다.

check out__dirname도 마찬가지 일 수 있습니다. 이는 make it easier to specify your paths 일 수 있습니다.

관련 문제