zabbixをdocker-composeで動かすhttps版 + httpリダイレクト設定追加

スポンサーリンク

はじめに

zabbixにhttpsでアクセスできるようにしましたが、今回はhttp→httpsへredirectする設定を追加します。

といってもほんとただのapacheでリダイレクトするだけ・・・だったのですがめっちゃハマりましたorz

参考サイト

リダイレクトの参考サイト様

ただR=301だとchromeがキャッシュしてしまいテストしにくかったので削ってます。

alpineのリダイレクトa2nmod使わない方法を教えてくれたサイト様

設定ファイル各種

ディレクトリ&ファイル構成

docker-compose.yml

今回からlatestをやめてversion指定をちゃんとしています。

apache.conf

apache.confは一度zabbix_webコンテナのvolumes箇所を全部コメントアウトして普通に起動させて以下コマンドで/etc/zabbix/apache.confを見て参考にしました。

docker ps -a

docker exec -it http-redirect_zabbix_web_1 /bin/bash

cat /etc/zabbix/apache.conf

後述しますが一部Require all grantedとRequire all deniedに書き換えてます。

Dockerfile

ここでドはまり。。実際に使ったのはこんな設定です。

alpineでRUN a2enmod rewriteが使えないようで(どうもubuntu用らしい?)

上記のように変更し、/etc/apache2/httpd.confにある#LoadModule rewrite_moduleの部分をアンコメントしています。

もしもubuntuでやるならこんな感じでOK。

以下チラシの裏。。
ただ謎なのはこれをやるとapache.confの設定にあるアクセス制御部分で引っかかってしまう。。
これがなぜなのわからぬ。。。

こちらを参考にRequire all grantedとRequire all deniedに書き換えてあげるとうまくいく。

※ubuntuでRUN a2enmod rewriteを使った場合はRequire all grantedとRequire all deniedがいらなかった。。
うーん、なんでだろう?
zabbix-web-apache-mysqlについてはalpineよりubuntuのが楽かも。。

起動時のログ

参考までに起動時のログを残しておきます。

動作確認

「http://IPアドレス」にアクセスすると「https://IPアドレス」にリダイレクトしているはずです。

今回の場合は「http://192.168.0.18/」にアクセスすると「https://192.168.0.18/」にリダイレクトしています。

docker logs http-redirect_zabbix_web_1で取得したリダイレクトのログはこちら。302がリダイレクトしているステータスコードです。

最後に

dockerコンテナのおかげでいろいろ勉強できます。今回はリダイレクトを試してみました。

DokcerHubで使うコンテナが何をベースに作られているかを確認するのは大事ですね。。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする