Caddy IPでアクセス制限をかける

  • 作成日 2020.07.03
  • 更新日 2020.07.17
  • caddy
Caddy IPでアクセス制限をかける

webサーバーcaddyでIPによりアクセス制限をかける手順となります。なかなか日本語のドキュメントがなかったので記述しておきます。

環境

  • OS  CentOS Linux release 7.7.1908 (Core)
  • サーバー さくらのクラウド
  • Caddy 1.0.3

プラグインインストール

ip制限をかけるには「http.ipfilter」というプラグインが必要なので、まずはインストールします。

curl https://getcaddy.com | bash -s personal http.ipfilter

IP制限

インストールが完了したので、Caddyfileを編集してIP制限をかけていきます。

バックアップしておきます。

cp /etc/caddy/Caddyfile /etc/caddy/Caddyfile.`date +%Y%m%d%H%M%S`

ファイルを編集します。

sudo vi /etc/caddy/Caddyfile

今回は、ある特定のIPからのみ接続許可したかったので下記のように記述してます。
※ここでは「111.222.333.444」からのみ、全てのディレクトリに対して「/」許可設定にしてます。

    ipfilter / {
        rule allow
        ip 111.222.333.444
    }

複数のIPを許可する場合は下記の通りとなります。

    ipfilter / {
        rule allow
        ip 111.222.333.444 111.222.333.777
    }

編集が終われば、caddyを再起動して設定を反映させます。

sudo systemctl restart caddy

http.ipfilterの使用方法は、英文になりますがこちらに記述されています。