Apacheで、クライアント証明書+Basic認証 or IP縛り+Basic認証 でのアクセス許可

Apache
スポンサーリンク

環境:

OS:RHEL9
Apache:2.4

やりたいこと:

  • 許可されたIPアドレス&Basic認証を通す
    または、
  • クライアント証明書を持っている&Basic認証を通す

で、/admin/ページが見れるようにしたい。

やり方

apacheのconfに以下の様に記述する。

<VirtualHost _default_:443>

    # クライアント証明書の設定
    SSLVerifyClient optional
    SSLVerifyDepth 1
    SSLCACertificateFile /etc/httpd/conf/admin.ssl.crt/ca.crt

    <Directory "/var/www/html/admin">

        # まず、クライアント証明書またはIPアドレスのチェックを行う
        <RequireAll>
            <RequireAny>
                Require ip 許可したいIPアドレス
                Require ssl-verify-client
            </RequireAny>

            # 上記のチェックが通った場合にのみBasic認証を要求する
            AuthType Basic
            AuthName "Admin Page. Please Enter The ID PW."
            AuthUserFile /home/kuzu/.htpasswd
            Require valid-user
        </RequireAll>

        AllowOverride None
        Options None
    </Directory>
</VirtualHost>

コメント