この記事について
Re;dashではFlaskLimiterという、API制限をかけたりするライブラリを内部的に使って、ログインページ(/login)へのアクセスを制限しているようです。デフォルトでは1時間50アクセス(REDASH_THROTTLE_LOGIN_PATTERNの設定値で変えられるようです)。GET,POST双方でカウントされるので、loginページをリロードしまくると再現できます。
これでBAN(BANとはちょっと違うかもしれませんが)されると429 Too Many Requestsが返されます。何らかの原因でこの状態になってしまった場合の対処法を軽く紹介します。1時間待てって? それが正しいです。
対処法
1時間も待ちきれないぜというそこのあなたに向けた方法。もしかしたらボタンぽちーでできてしまったりするのかもしれませんが、、、
FlaskLimiterはIPなどのアクセス情報の保存先にRedisを利用しているようです。デフォルトではローカルホストをさしているので、Redashが動いているサーバでredis-cliコマンドをたたきましょう。
そしてkeysコマンドで保存されているキーを見るとそれっぽいのがあるかと思いますので削除しましょう。一気に全部削除もできますが、一応必要なものだけを消すようにしましょう。
$ redis-cli keys LIMITER*
LIMITER/xxx.xxx.xxx.xxx/redash.login/50/1/hour
...
$ redis-cli del LIMITER/xxx.xxx.xxx.xxx/redash.login/50/1/hour
これで/loginにアクセスできればokです。