Вы, возможно, должны выполнить это прежде apachectl graceful
:
/path/to/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=mt-example.com
Я нашел этот вопрос, ища справку с попыткой получить Django, работающего с mod_wsgi. Этот сайт помог мне: http://webmanufactory.blogspot.com/2009/06/last-post-about-mediatemple-dv-and.html
Он также говорит для использования service httpd graceful
который хорош если apachectl
нет ли по некоторым причинам.
Nginx хранит имя пользователя, полученное в результате аутентификации, в $ remote_user
. Вы должны иметь возможность проверить, не пусто ли оно, и соответственно выполнить желаемое действие (например, вернуть ошибку 401). Что-то вроде:
if ($remote_user = ''){
return 401;
}
Судя по всему, вы уже заполняете переменную $ remote_user
(поскольку она отображается в ваших журналах) - насколько мне известно, вы должны использовать Nginx HTTP Базовый модуль аутентификации для заполнения этой переменной.
Обычная проверка подлинности устанавливает заголовок авторизации. В Nginx заголовки HTTP-запросов доступны через $ http_HEADER
, поэтому в данном случае $ http_authorization
. Если вы реализуете базовую аутентификацию вне Nginx и задаете этот заголовок, вы можете проверить, не является ли заголовок пустым. (В качестве альтернативы, в зависимости от того, как вы реализуете аутентификацию, вы можете установить собственный заголовок, который вы тестируете).