Apache 2.4、反向代理、正向凭证(基本身份验证)

Apache 2.4、反向代理、正向凭证(基本身份验证)

我想将基本身份验证凭据传递给反向代理服务器。

现在其工作方式的示例:用户访问网站,Apache 配置为要求基本身份验证,用户输入用户名和密码,如果正确,则用户连接到反向代理服务器。

我想要设置的示例:情况 1:用户访问网站,Apache 要求进行身份验证,用户输入正确的凭据,用户连接到反向代理,身份验证标头(用户名和密码)传递到反向代理服务器

情况 2:用户访问网站,Apace 要求进行身份验证,用户输入错误的凭据,Apache 阻止连接。

问候,tomari

答案1

在我的测试设置中,这是自动发生的。我没有配置任何特殊的东西

我的Apache配置:

<VirtualHost *:80>
    ProxyPass / http://backend/
    ProxyPassReverse / http://backend/

    <Location />
        AuthType Basic
        AuthName "Restricted Files"
        AuthUserFile "/usr/local/apache2/conf/htpasswd"
        Require valid-user
    </Location>
</Virtualhost>

通过反向代理调用 test.php:

array(42) {
  ["HTTP_HOST"]=>
  string(7) "backend"
[...]
  ["PHP_SELF"]=>
  string(9) "/test.php"
  ["PHP_AUTH_USER"]=>
  string(6) "gerald"
  ["PHP_AUTH_PW"]=>
  string(8) "testtest"
}

当我输入无效的凭据时,请求被拒绝并且无法到达后端。

如果它不适合您,您需要添加有关您的设置的更多详细信息。

相关内容