我已经将Apache2服务器设置为反向代理,它从我的网络中的虚拟机中检索多个服务。我正在尝试设置基本身份验证,以限制某些用户使用mysql数据库来存储用户和密码。
我确信Apache2正在连接到数据库,并在我尝试使用http auth登录时检索相应的用户名,因为我已经检查了mysql日志:
2017-12-12T16:14:20.338976Z 2542准备SELECT密码FROM testTable WHERE username =?
2017-12-12T16:14:29.611520Z 2531执行SELECT密码FROM testTable WHERE username ='testuser'
但是,我的身份验证始终因密码不匹配而被拒绝。
[Tue Dec 12 10:14:29.612762 2017] [auth_basic:error] [pid 2729] [client 192.168.1.194:56047] AH01617:user testuser:“/ protected”的身份验证失败:密码不匹配,引用:{ {3}}
<Location "/protected">
AuthName "Authentication"
AuthType Basic
AuthBasicProvider dbd
Require valid-user
AuthDBDUserPWQuery "SELECT password FROM testTable WHERE username=%s"
</Location>