作業メモベースですがどなたかのお役に立てば。
やりたいこと
・Amazon Elasticsearch Serviceに同梱されているKibanaに認証をつけたい
・上記認証にcognitoは利用しない
・経路はhttpd2.4をProxyとして利用portベースのvirtualhostで受ける
・ApacheのBasic認証で受ける
環境
・Red Hat Enterprise Linux Server release 7.6 (Maipo)
・Server version: Apache/2.4.6 (Red Hat Enterprise Linux)
認証とProxy経路の確保
・準備
yum install mod_ssl -y
mkdir /var/www/px/_plugin/kibana
・認証
htpasswd -c /etc/httpd/conf/.htpasswd aaa
# New password:
# Re-type new password:
# Adding password for user aaa
・Proxy
/etc/httpd/conf.d/es.conf
Listen 8090
<VirtualHost *:8090>
DocumentRoot /var/www/px
SSLEngine on
SSLProtocol all -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile /etc/pki/certs/server.crt
SSLCertificateKeyFile /etc/pki/private/server.key
<Directory "/var/www/px/_plugin/kibana">
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "auth"
AuthType Basic
Require valid-user
</Directory>
RewriteEngine On
RequestHeader unset Authorization
RewriteCond %{LA-U:REMOTE_USER} !^$
# RewriteCond %{QUERY_STRING} !method=PUT
# QueryでDELETE methodを発行するものはブロック
RewriteCond %{QUERY_STRING} !method=DELETE
RewriteRule ^/_plugin/kibana(.*)$ http://{Es-Vpc-Endpoint}/_plugin/kibana$1 [P]
</VirtualHost>