このページでわかること
- Nginxのトップページに対してOAuth2-ProxyのBasic認証を経由してアクセスする
Killercoda URL
この記事の内容はKillercodaにて学習コンテンツとして公開しております。 併せて、動作確認で利用してください。
URL: https://killercoda.com/ijikeman/scenario/oauth2-proxy
Oauth2-Proxyの認証機構としてBasic認証でテスト実行してみる
- .htpasswdを発行する
PASSWD=`printf "P@ssw0rd" | openssl dgst -binary -sha1 | openssl base64`
echo "admin:{SHA}$PASSWD" > /etc/oauth2-proxy/.htpasswd
- OAuth2-Proxyの設定ファイルの修正
vi /etc/oauth2-proxy/oauth2-proxy.cfg
- 末尾に追記
echo '# Basic Auth(※新しく追記)' >> /etc/oauth2-proxy/oauth2-proxy.cfg
echo 'htpasswd_file = "/etc/oauth2-proxy/.htpasswd" # Basic認証用パスワードのパスを指定' >> /etc/oauth2-proxy/oauth2-proxy.cfg
Backendの準備
- nginxを8080番で起動してOAuth2-Proxyの接続後の仮サイトとする
docker run --rm --name nginx -p 8080:80 -itd nginx:latest
- OAuth2-Proxyを起動し、Basic認証ファイルが読み込まれていることを確認
systemctl restart oauth2-proxy
[2025/12/08 09:39:05] [oauthproxy.go:128] using htpasswd file: /etc/oauth2-proxy/.htpasswd
[2025/12/08 09:39:05] [watcher.go:40] watching '/etc/oauth2-proxy/.htpasswd' for updates
[2025/12/08 09:39:05] [proxy.go:89] mapping path "/" => upstream "http://127.0.0.1:8080"
- https://IP:4180にブラウザからアクセスし、OAuth2-Proxyのページが表示されることを確認

- Basic認証で発行したユーザパスワードを入力すると、nginxの画面が表示される

- 認証時のOAuth2-ProxyのログにBasic認証が表示されていることが確認できる
192.168.0.1:50640 - - user1 [2025/12/01 00:00:00] [AuthSuccess] Authenticated via HtpasswdFile
192.168.0.1:50640 - - - [2025/12/01 00:00:00] test.example.com:4180 POST - "/oauth2/sign_in" HTTP/1.1 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 302 0 0.004
192.168.0.1:50640 - - user1 [2025/12/01 00:00:00] test.example.com:4180 GET / "/" HTTP/1.1 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 200 615 0.001
