GraylogでNginxのリバースプロキシを用いたSSL化対応(SSLアクセラレイター)
Pocket

前にGraylogのSSL化対応について記述したことがあったが、今回は同一OS上にNginxを同居させて、リバースプロキシとして動作させることでSSL化を行う。設定自体は特に難しいこともなく、すぐに行える。参考手順は、公式ドキュメントとして用意されているこちら。ただ、Graylog Collector Sidecarを使っている場合は各エージェントで設定変更が必要になるので注意。

1.Graylogの設定変更

先に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インターフェイス等は直接アクセスできない状態になった。

Sponsored Links

2.Nginxのインストール・設定

次に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にしておくといいだろう)。

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。

*