可以通过HAProxy添加基本的HTTP访问身份验证吗?


Answers:


36

我今天必须自己做(因为IIS 7.5奇怪的是实际上不支持针对Windows用户帐户或AD以外的任何事物进行身份验证!)...

这是所有代码

userlist UsersFor_AcmeCorp
  user joebloggs insecure-password letmein

backend HttpServers
  .. normal backend stuff goes here as usual ..
  acl AuthOkay_AcmeCorp http_auth(UsersFor_AcmeCorp)
  http-request auth realm AcmeCorp if !AuthOkay_AcmeCorp

我在这里记录得更好:http : //nbevans.wordpress.com/2011/03/03/cultural-learnings-of-ha-proxy-for-make-benefit/


2
+1只是想添加,您也可以在frontend定义中添加最后几行,而不是backend您愿意的话。该realm xxxx部分是可选的。
UpTheCreek

我实现了这个功能,但是发生的是,在随后的每个api调用中,我都会弹出请求身份验证的弹出窗口,这使其无法使用。无论如何,是否有要求再次缓存其余呼叫的地方?那会很有帮助。
shshnk

2

我认为这实际上是可能的,但是现在我只能找到一个例子来使您半途而废...

http://haproxy.1wt.eu/download/1.4/doc/configuration.txt是您的圣经。

查看第3.4节(用户列表)

开始:

通过仅允许经过身份验证和授权的用户,可以控制对前端/后端/侦听部分或http统计信息的访问。为此,需要创建至少一个用户列表并定义用户。

该部分说明了如何设置用户列表。该部分中的示例非常详尽,请根据需要复制该示例。

接下来,需要弄清楚如何应用...我认为答案在于第7.5.3节(第7层的匹配)

我认为这可能和在acl中使用以下命令一样简单:

http_auth(userlist)
http_auth_group(userlist) <group> [<group>]*
  Returns true when authentication data received from the client matches
  username & password stored on the userlist. It is also possible to
  use http_auth_group to check if the user is assigned to at least one
  of specified groups.

同样,我还没有测试过,但这是我阅读文档所暗示的可能。

我希望这足以让您入门?


呐喊,我想我现在已经习惯了!
高价

尽管再次进行了查看,但它似乎在几个月内没有更新过……我没有检查它与文本墙之间的特定更改,但假设有一些更改。
昂贵的

1
那个“更好的”圣经链接是404。更好的是这个haproxy.org/#docs。在那里您可以找到HTML /文本手册。
Glenn Plas 2014年

获取手册的链接:cbonte.github.io/haproxy-dconv
slm

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.