Nginx リライトの設定方法

ショコラ
ショコラ

Nginx リライトの設定方法

いくつか例をあげます。

もっさん先輩
もっさん先輩

① URL を書き換える方法。

location ~ ^/\d+/\D+ {
  rewrite ^/(\d+)/(.+) https://bitbucket.org/answorz.com/$1/raw/master/$2 permanent;
}

② http でアクセスされたら https になるように書き換える方法。

server {
  listen 80;
  server_name answorz.com;
  if ($http_x_forwarded_proto != https) {
    rewrite ^(.*)$ https://answorz.com$1 permanent;
  }
}

③工事中の HTMLファイルを用いないで工事中を表示する方法。

location /
{
  if ($remote_addr != 118.27.68.139) {
    return 503 '<!DOCTYPE html><html><head><meta charset="utf-8"></head><body>只今メンテナンス中です。メンテナンス期間:〇月×日▲時~■時</body></html>';
  }
  proxy_redirect off;
  proxy_pass http://backend;
}

メンテナンス対応している 118.27.68.139 以外からアクセスがあった場合に、メンテナンスのメッセージを出します。メンテナンス対応をしている 118.27.68.139 はバックエンドに通信を通します。503は「Service Unavailable」で一時的にサーバーにアクセスできない状態です。

④トップ(/)だけリダイクレクトさせる方法。

location = /
{
  proxy_pass http://backend/;
  proxy_redirect off;
}

以上

Scroll to Top