さくらのサーバーがApache 2.4になりアクセス制限の書式変更してた

記事内にプロモーションを含む場合があります。

Sakura htaccess 01

さくらインターネットのレンタルサーバーが知らない間にApache 2.4になっていたらしく、.htaccessの書式が変わり、Movable Typeのmt.cgiに使っていた、これまでのアクセス制限ができなくなっていました。

2.4での書式はシンプルになっているので、これまでより分かりやすいのですが、何故か大ハマリ。

理由は、さくらインターネットの国外IPアドレス制限機能にありました。

さくらの国外IPアドレス制限機能は、重要なファイルへのアクセスを国外IPからアクセスできなくするセキュリティ機能。自分で設定しなくても、下のファイルは国外IPから保護されます。

Apache 2.4では、ディレクトリのファイルへのアクセスを自分のIPやホストだけ許可するには、下のどちらかだけで良いんですが、何故か、403でアクセス拒否される・・・。

Require host 自分のホスト
Require ip 自分のIP

ホストでも駄目。
IPでも駄目。
色々やってたら、この国外IPアドレス制限機能の存在を思い出した次第。

下の書式でうまくいきました。

Movable Typeのmt.cgiへのアクセスを自分のホストまたはIPのみ許可、.htaccessとhtpasswdファイルへのアクセスを拒否する設定

<Files "mt.cgi">
Require host 自分のホスト
</Files>
<Files ~ "^\.(htaccess|htpasswd)$">
Require all denied
</Files>