Получение mod_geoip для работы с mod_wsgi в Apache 2.2.17 - PullRequest
0 голосов
/ 25 марта 2011

Я бы хотел получить доступ к переменной окружения GEOIP_COUNTRY_CODE из Django, работающей на mod_wsgi в режиме демона.Проблема в том, что я вижу переменную из скриптов PHP, работающих на сервере, но кажется, что она не передается через WSGI на мой сайт Django.request.META.get('GEOIP_COUNTRY_CODE') не работает.Есть ли что-то вроде WSGIPassAuthorization для дополнительных переменных окружения в mod_wsgi?

1 Ответ

1 голос
/ 26 марта 2011

Если переменная задана модулем расширения как переменная среды, она будет доступна как:

import os
value = os.environ['GEOIP_COUNTRY_CODE']

Т.е., как и любая другая переменная среды.


ОБНОВЛЕНИЕ 1:

Если установлено внутри модуля Apache, однако, такого как mod_geoip, единственный способ передать его в область приложения WSGI - это установить его в req.subprocess_env структуры запроса Apache.То есть, так же, как если бы директива SetEnv использовалась с Apache.В этом случае он должен появиться в словаре среды WSGI, переданном приложению WSGI.

Чтобы попытаться проверить, происходит ли это, используйте сценарий эхо-теста WSGI, показанный в:

http://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Displaying_Request_Environment

...