在Apache 2.4中使用LDAP进行身份验证

首先

    • 社内用のWebサーバをはじめは公開していて、だれでも分析レポート(Rmdで生成したhtmlファイル)を見れたのだが、まずいものもいくつか出てきたので、LDAP認証かけたいよねって事で取り組んだ

 

    • Apache2.4でLDAP認証なんて、そこらへんにやり方あるあるなんだろうなと思ったけど、案外Web上にないので、Apache素人の自分には苦労したので、そのメモ

というか最終的には、隣の先輩に手伝ってもらった。。

前提知識

    ApacheとLDAPが何かくらいは分かってて、基本的なディレクティブやLDAPコマンド(ユーザ追加できるとか)は分かってるものとする

准备Dockerfile

    • Dockerhubに公式?のイメージがあります(こちら)

 

    でも、LDAP認証をするために、ビルドから必要そうなので、Dockerfileも必要(こちら)

第一步:修改Dockerfile。

在配置中添加选项。

<snip>
&& ./configure --with-ldap --enable-ldap=shared --enable-authnz-ldap=shared --enable-so --enable-ssl --prefix=$HTTPD_PREFIX \
<snip>

第二步:配置httpd.conf文件。

我修改了以公开使用,但是以下内容可正常运作。

<Location />
  AuthType Basic
  AuthBasicProvider ldap
  SetHandler ldap-status
  AuthName "Members Only"
  AuthLDAPURL ldap://[LDAP Server IPアドレス]:[ポート番号]/ou=People,dc=hogehoge,dc=jp?uid
  Require valid-user
</Location>

使用 AuthLDAPURL 来指定 LDAP 服务器的搜索范围,并使用 Require 来限制只有对应的用户可以查看。

第三步。构建并运行 Docker。

我使用普通方式进行构建,并通过docker-compose来启动。完成。

最后

    • httpd.confだけいじれば良いと思ってら、ビルドするときにオプションが必要だったようです。

 

    ここらへんってApache2.4の公式ドキュメントに書いてるのかな?見つけきらずに苦労した。
广告
将在 10 秒后关闭
bannerAds