Я хочу, чтобы за Apache стоял Дженкинс. Он использует прокси-пропуск (для /), и я хочу, чтобы он находился за некоторой базовой аутентификацией.
Итак, я установил apache2, используя учебник digitalocean в качестве отправной точки.
Я создал .htpasswd
файл с логином / паролем test
.
Всякий раз, когда я настраиваю свой VirtualHost
и я намеренно указываю на несуществующий файл для аутентификации, я вижу ошибку в журналах apache. Всякий раз, когда я использую правильный .htpasswd
Я таких логов не вижу.
Как и ожидалось, в моем браузере появляется всплывающее окно с именем пользователя / пароля для базовой аутентификации. Всякий раз, когда я использую неправильное имя пользователя (не существующее), это также появляется в журналах, как и ожидалось. Когда я использую правильный test
учетные данные Я таких сообщений в логах не вижу.
Однако, несмотря на использование правильных учетных данных, всплывающее окно с учетными данными Basic Auth по-прежнему появляется снова. (и в моем журнале доступа появляется 401)
Я вижу эти попытки входа в систему (с правильными учетными данными). Я получаю 401 (я вижу это в журналах доступа). Я не вижу ошибок о неверных учетных данных в журналах ошибок. Когда я ввожу неправильные учетные данные, они появляются там.
Для завершения вот моя конфигурация на виртуальном хосте:
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests On
ServerName <bla>.<somehostname>.<bar>
ServerAlias *.<somehostname>.<bar>
ProxyPass / http://localhost:8090/
ProxyPassReverse / http://localhost:8090/
AllowEncodedSlashes NoDecode
<Proxy http://localhost:8090>
AllowOverride All
AuthType Basic
AuthUserFile "/etc/apache2/.htpasswd"
Require valid-user
Order allow,deny
Allow from all
</Proxy>
ErrorLog ${APACHE_LOG_DIR}/ci_error.log
CustomLog ${APACHE_LOG_DIR}/ci_access.log combined
Header set Access-Control-Allow-Origin "*"
</VirtualHost>
Я понятия не имею, что делать дальше. Я пробовал разные вещи. Как и незашифрованные логины / пароли (не помогло, использую htpasswd
инструмент). Я пробовал использовать Location
вместо того Proxy
, это тоже не дало никакого эффекта. Я обязательно установил AllowOverride
к All
везде, где ничего не делал.