nginx の try_files でよくやる設定の意味

Mar 3, 2022 18:23 · 241 words · 1 minute read

こんな設定をした場合の挙動について。

server {
  try_files $uri @proxy;
  location @proxy {
    proxy_pass http://app;
    ...
  }
}
  • $uri はnginx側で設定される変数で、リクエストされたURLが入っている
  • try_files $uri @proxy
    1. $uri に静的ファイルが存在するなら、それを返す
    2. 存在しないなら、location @proxy 配下の設定にしたがって処理する

@proxy

  • なんらかの変数のように見える @proxy はファイルがなかった場合の internal redirect 先のことだった
  • これは location @proxy という指定と組み合わせて使うと「該当の静的ファイルがなかったら http://app に proxy する」という設定になる

参考

tweet Share