nginx の map ディレクティブでの条件式の書き方について

結論

~ を先頭に付与すれば正規表現となります。

具体例

map $http_x_forwarded_for $foobar {
  default "DEFAULT DESUYO";
  ~.*123.* "123 DESUYO";
  222.222.222.222 "222 DESUYO";
}

上記において $foobar123 DESUYO が入る場合の条件は、正規表現にて $http_x_forwarded_for の値が .*123.* にマッチする場合です。

そして $foobar222 DESUYO が入る場合の条件は、$http_x_forwarded_for の値が 222.222.222.222 である場合です。

参考

Powered by はてなブログ