8.4.7. 基本的なアイデンティティープロバイダーの Apache HTTPD 設定の例


Apache HTTPD の CGI スクリプトを使用すると、OpenShift Container Platform の基本的なアイデンティティープロバイダーに対して JSON レスポンスを返すリモート認証サーバーを設定できます。

以下は、Apache の VirtualHost 設定ファイルの例です。

<VirtualHost *:443>
  # CGI Scripts in here
  DocumentRoot /var/www/cgi-bin

  # SSL Directives
  SSLEngine on
  SSLCipherSuite PROFILE=SYSTEM
  SSLProxyCipherSuite PROFILE=SYSTEM
  SSLCertificateFile /etc/pki/tls/certs/localhost.crt
  SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

  # Configure HTTPD to execute scripts
  ScriptAlias /basic /var/www/cgi-bin

  # Handles a failed login attempt
  ErrorDocument 401 /basic/fail.cgi

  # Handles authentication
  <Location /basic/login.cgi>
    AuthType Basic
    AuthName "Please Log In"
    AuthBasicProvider file
    AuthUserFile /etc/httpd/conf/passwords
    Require valid-user
  </Location>
</VirtualHost>

以下は、login.cgi CGI スクリプトファイルの例です。

#!/bin/bash
echo "Content-Type: application/json"
echo ""
echo '{"sub":"userid", "name":"'$REMOTE_USER'"}'
exit 0

以下は、fail.cgi CGI スクリプトファイルの例です。

#!/bin/bash
echo "Content-Type: application/json"
echo ""
echo '{"error": "Login failure"}'
exit 0

8.4.7.1. ファイルの要件

Apache HTTPD Web サーバーで作成するファイルの要件は以下のとおりです。

  • login.cgi と fail.cgi の CGI スクリプトファイルは実行可能である必要があります。両方のファイルに対して chmod +x コマンドを使用します。
  • SELinux が有効になっている場合、login.cgi と fail.cgi の CGI スクリプトファイルには、適切な SELinux セキュリティーコンテキストが必要です。restorecon -RFv /var/www/cgi-bin コマンドを実行するか、ls -laZ コマンドを使用してコンテキストが httpd_sys_script_exec_t SELinux タイプであることを確認します。
  • login.cgi CGI スクリプトファイルは、Apache の設定ディレクティブの Require および Auth に従ってユーザーが正常にログインした場合にのみ実行されます。
  • fail.cgi CGI スクリプトファイルは、ユーザーがログインに失敗し、HTTP 401 HTTP ステータスコードを返した場合に実行されます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る