2014-12-27 3 views
0

Я пытаюсь отправить уведомление Apple push. Я могу отправить его из оболочки Python:У Apache нет доступа к файлу Cert

import apns 
ns=apns.APNs(use_sandbox=True, cert_file="certs/C.pem", key_file="certs/C.pem") 
ns.gateway_server.send_notification('TOKEN', apns.Payload(alert='hi')) 

Однако, когда я пытаюсь отправить его с веб-сервера, я получаю ту же ошибку, я хотел бы получить, если бы я был в папке, которая не имеет доступа к моему certs каталога:

ssl.SSLError: [Errno 336265218] _ssl.c:356: error:140B0002:SSL routines:SSL_CTX_use_PrivateKey_file:system lib 

у меня есть основная папка проекта в моем файле apache.conf:

<Directory /home/ubuntu/MyProject/Django/MyProject> 
    <Files *> 
    Order allow,deny 
    Allow from all 
    Require all granted 
    </Files> 
</Directory> 

папка CERT находится в /home/ubuntu/MyProject/Django/MyProject/certs. Как я могу предоставить apache доступ к этому?

ответ

0

Необходимо предоставить абсолютный путь к файлу сертификации. Python, скорее всего, загрузит проект HOME, но для apache ему нужен полный путь.

Смежные вопросы