IP制限について
とあるREST APIの検証を行う際、少し詰まったのでメモします。
いつも通り内容は「今更」なことです。。。
IP制限
IP制限がされているか確認するには、該当のアプリケーションにブラウザからアクセスする方法があります。
今回はAPIアプリケーションなので、その方法は使えませんでした。
なので、Postmanというツールを使用し、検証していました。
Postmanで検証した結果、どうやらIPで弾かれている事がわかりました。
次はどこでその設定がされているかを探します。
該当のアプリケーションはAWSで構築されており、ロードバランサーを介してアクセスされています。
なので、まずAWSのロードバランサーやEC2でなにか制限されていないか確認しました。
結果、それらの項目では制限されていないようでした。
残るはサーバのApacheの設定です。
grepコマンドを使用し、許可されているIPが記述されているファイルを探しました。
その中に該当の設定が書かれているファイルを発見しました。
VirtualHostが記述されているファイルです。
そこではBasic認証を設定しており、特定のIPだけを許可するという記述がされていました。
例えば許可するIPアドレスを127.0.0.0とすると
## 環境変数に許可するIPをセット
SetEnvIf REMOTE_ADDR 127.0.0.0 allow-ip
## その後許可をする
<RequireAny>
Require env allow-ip
</RequireAny>
このように特定のIPを許可して制御していました。
こちらからは以上です。
参考
https://www.javadrive.jp/apache/ini/index16.html
https://qiita.com/akym03/items/48606f05cfa621ef445b