7.4.7. 기본 ID 공급자에 대한 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
7.4.7.1. 파일 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음은 Apache HTTPD 웹 서버에서 생성하는 파일에 대한 요구 사항입니다.
-
login.cgi및fail.cgiCGI 스크립트 파일은 실행 가능해야 합니다. 두 파일 모두에서chmod +x명령을 사용합니다. -
SELinux가 활성화된 경우
login.cgi및fail.cgiCGI 스크립트 파일에는 적절한 SELinux 보안 컨텍스트가 있어야 합니다.restorecon -RFv /var/www/cgi-bin명령을 실행하거나ls -laZ명령을 사용하여 컨텍스트가httpd_sys_script_exec_tSELinux 유형인지 확인합니다. -
login.cgiCGI 스크립트 파일은 사용자가Require및AuthApache 구성 지침에 따라 성공적으로 로그인한 경우에만 실행됩니다. -
사용자가 로그인하지 못하면
fail.cgiCGI 스크립트 파일이 실행되고HTTP 401HTTP 상태 코드를 반환합니다.