По умолчанию это отправляет спецификацию хоста от proxy_pass
строка. Можно переопределить это путем броска этой конфигурации там, принуждения Host:
заголовок для содержания того же, как отправлено клиентом:
proxy_set_header Host $host;
Что ж, мои предположения о работе PAM были правильными.
Модуль pam_sss.so
ожидал, что аргумент forward_pass
будет передан на пароль для других модулей PAM, как модуль pam_unix.so
. Так что просто поставив эту опцию, сделайте свою работу. В результате появилась строка:
auth sufficient /usr/local/lib/pam_sss.so forward_pass
Что закончилось другой проблемой. Если sssd или даже область аутентификации sssd не работают, вы не сможете войти в систему, поскольку модуль pam_sss.so
не будет работать, и, следовательно, пароль не будет пересылаться.
Итак, очевидное выбор заключался в том, чтобы поместить pam_unix.so
перед pam_sss.so
и позволить всему «хватить» с красивым pam_deny.so
в конце. Это способ решения проблемы в Linux, но, похоже, это не работает во FreeBSD.
После некоторого поиска в Google через списки рассылки, правильный способ сделать это во FreeBSD - использовать странный порядок в PAM:
auth sufficient pam_opie.so no_warn no_fake_prompts
auth requisite pam_opieaccess.so no_warn allow_local
auth sufficient pam_unix.so no_warn
auth sufficient /usr/local/lib/pam_sss.so use_first_pass
auth required pam_unix.so no_warn use_first_pass
Итак, поместите pam_unix.so
two раз в PAM, первый как достаточный
, а последний, как требуемый
, делает свое дело. Я не знаю, почему это происходит, но это работает и кажется правильным.