Отклоните запрос Nginx без аутентификации в целом

Вы, возможно, должны выполнить это прежде 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 нет ли по некоторым причинам.

0
задан 24 October 2012 в 00:39
1 ответ

Nginx хранит имя пользователя, полученное в результате аутентификации, в $ remote_user . Вы должны иметь возможность проверить, не пусто ли оно, и соответственно выполнить желаемое действие (например, вернуть ошибку 401). Что-то вроде:

if ($remote_user = ''){
    return 401;
}

Судя по всему, вы уже заполняете переменную $ remote_user (поскольку она отображается в ваших журналах) - насколько мне известно, вы должны использовать Nginx HTTP Базовый модуль аутентификации для заполнения этой переменной.

Обычная проверка подлинности устанавливает заголовок авторизации. В Nginx заголовки HTTP-запросов доступны через $ http_HEADER , поэтому в данном случае $ http_authorization . Если вы реализуете базовую аутентификацию вне Nginx и задаете этот заголовок, вы можете проверить, не является ли заголовок пустым. (В качестве альтернативы, в зависимости от того, как вы реализуете аутентификацию, вы можете установить собственный заголовок, который вы тестируете).

1
ответ дан 23 November 2019 в 10:29

Теги

Похожие вопросы