
経由させると、同時に一つのプロセスだけを稼働させることが出来るUbuntuの「run-one」コマンド
バックアップスクリプトや運用ス…
前にGraylogのSSL化対応について記述したことがあったが、今回は同一OS上にNginxを同居させて、リバースプロキシとして動作させることでSSL化を行う。設定自体は特に難しいこともなく、すぐに行える。参考手順は、公式ドキュメントとして用意されているこちら。ただ、Graylog Collector Sidecarを使っている場合は各エージェントで設定変更が必要になるので注意。
先にGraylog側の設定から。
Graylog Serverの設定ファイルである「/etc/graylog/server/server.conf」で、以下のように変更を行う。
rest_listen_uri = http://127.0.0.1:9000/api/ web_listen_uri = http://127.0.0.1:9000/ web_endpoint_uri = https://graylog-server-hostname/api/
設定ファイル編集後、Graylog Serverの再起動を行う。
systemctl restart graylog-server
これで、GraylogのWebインターフェイス等は直接アクセスできない状態になった。
次にNginxの設定。
とりあえず、まずはNginxをインストールする必要がある。
yum --enablerepo=epel install nginx # RHEL系の場合 sudo apt install nginx # Debian/Ubuntu系の場合
Nginxインストール後、設定ファイルを編集して、SSLを用いてのリバースプロキシとして動作させる(以下、設定例)。
server { listen 443 ssl http2; server_name graylog_hostname; ssl on; ssl_certificate /path/to/cert; ssl_certificate_key /path/to/key; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Graylog-Server-URL https://graylog_hostname/api; proxy_pass http://127.0.0.1:9000; } }
Nginxのサービスを再起動して設定を適用したら、SSL経由でのアクセスができるようになっているはずだ。
なお、Graylog Collector Sidecarを使ってログを収集している場合、APIのポートが変わってしまっているためこのままだとログが取得できない。各クライアントの設定ファイルにおいて、向き先を変更してやる必要が有るので注意(なお、オレオレ証明書の場合は”tls_skip_verify”もtrueにしておくといいだろう)。