LoginSignup
2
2

More than 5 years have passed since last update.

nginxで特定のIPだけプロキシの向き先を変更する方法

Last updated at Posted at 2018-09-10

なぜそんなことした?

本番環境で

  • 開発関係者は新規バックエンドシステムにアクセス
  • 開発関係者以外のユーザは既存バックエンドシステムにアクセス

ということがしたかったので。

どうやった?

以下の設定をnginxの設定ファイルに追加しました。

    if ($remote_addr = "<自分がアクセスするIPアドレス>") {
      proxy_pass http://<新システムのアドレス>;
    }
    if ($remote_addr != "<自分がアクセスするIPアドレス>") {
      proxy_pass http://<旧システムのアドレス>;
    }

追記 複数IPアドレスがある場合

        set $isDeveloper false;

    if ($remote_addr = "<IPアドレス1>") {
      set $isDeveloper true;
    }
    if ($remote_addr = "<IPアドレス2>") {
      set $isDeveloper true;
    }
    if ($isDeveloper = true) {
      proxy_pass http://<新システムのアドレス>;
    }
    if ($isDeveloper = false) {
      proxy_pass http://<旧システムのアドレス>;
    }

ちょっと躓いたこと

ifのあとにスペース入れないと怒られてしまいました。

だめな例
    if($remote_addr = "<自分がアクセスするIPアドレス>") {
      proxy_pass http://<新システムのアドレス>;
    }
良い例
    if ($remote_addr = "<自分がアクセスするIPアドレス>") {
      proxy_pass http://<新システムのアドレス>;
    }

注意

自分が趣味で運用しているサービスで行った対応です。
通常の商用システムでも安全に動作するかは保証できかねます。。。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2