paranitips

Never stop learning! がモットーのゆるふわエンジニアブログ

nginxでリバースプロキシするときにBasic認証を解除する

例えば、画像へのリクエストをnginxでS3にリバースプロキシしていると、テスト用のBasic認証で閉じられた環境で適用するとS3側で弾かれてしまいます。

サイト全体にBasic認証かけてる。

http {
  ...
  auth_basic "Restricted";
  auth_basic_user_file "/path/to/passwd";
  ...

以下のように画像へのリクエストでAuthorizationヘッダを空文字で上書きすればOKです。

location /images/ {
  proxy_set_header Authorization "";
  proxy_pass "http://hogehoge.com"
}

ちなみにauth_basic offは効果ありませんでした。

location /images/ {
  auth_basic off;  # 効果なし
  proxy_pass "http://hogehoge.com"
}

参考

メソッドの引数にアスタリスクをつけると形式を指定できる

rubyのgemをいろいろ試している時に見つけたのでメモ。

methodで引数にアスタリスクを使うといい感じに値を取得することができます。

アスタリスク1つ*だと配列、アスタリスク2つ**だとハッシュを指定できます。

def foo(a, *b, **c)
  [a, b, c]
end

こうすることで、fooに引数がたくさんあったとき、引数の境界がはっきりします。

引数がなにもない場合は指定のフォーマットの空情報が入ります。

参考URLからデモコードを張っておきます。

> foo 10
=> [10, [], {}]
> foo 10, 20, 30
=> [10, [20, 30], {}]
> foo 10, 20, 30, d: 40, e: 50
=> [10, [20, 30], {:d=>40, :e=>50}]
> foo 10, d: 40, e: 50
=> [10, [], {:d=>40, :e=>50}]

OSSつくるときとかはこういうの必要ですね〜。

参考