Я использую MySQLdb в коде Python, размещенном в GAE, для удаленного подключения к серверу БД.
структура корневой папки
/client-ssl
ca.pem
client-key.pem
..
app.yaml
index.yaml
cron.py
..
, поэтому я загружаю файлы сертификатов в видестатическая папка, которая будет развернута с моим кодом в GAE, а затем я буду ссылаться на нее по путям в SSL-соединении
ниже - это ssl ключ в MySQLdb.connect (), записанный в cron.py
ssl_path = os.path.join(os.path.split(__file__)[0], 'client-ssl')
'ssl': {
'ca': os.path.join(ssl_path,'ca.pem'),
'cert': os.path.join(ssl_path, 'client-cert.pem'),
'key': os.path.join(ssl_path, 'client-key.pem'),
}
ssl_path локально печатается в
F: \ Projects \ project-root \ client-ssl
, который работает нормально, находит файлы в файловой системе моего компьютера и успешно устанавливает SSL-соединение с аутентификацией сертификата.
, но проблема возникает в среде GAE, которая выводится на
/ base / data / home / apps / id-проекта / default-service / client-ssl
как / base / data / home / apps / project-id / default-service / является рутом для моего проекта на GAE
, но выдает ошибку, как будто fiфайлы ниже client-ssl отсутствуют, или путь, заданный os.path в среде GAE, неверен, и соединение является ошибкой.
PS:
- Я проверилразвернутый код в GAE, и я обнаружил, что там развернута папка client-ssl.
- Я также установил обработчики в app.yaml для этих статических каталогов, как я нашел в каком-то учебном пособии, но я не звонюих через любой HTTP-запрос, такой как / css
обработчики app.yaml
- url: /client-ssl
static_files: client-ssl
upload: client-ssl
application_readable: true
Любая помощь, чтобы исправить это?