Nginxでリバースプロキシを構築

Nginxでリバースプロキシを構築する覚書。

■ Nginxをインストール

Nginxを使ってリバースプロキシを構築する。サーバーはUbuntu。

 apt -y install nginx

サーバのホスト名を「web.local.domain.jp」として、
HTTPアクセスをHTTPSにリダイレクトする設定で以下のような感じの設定ファイルを作成する。
SSL証明書は「/var/cert/private/web.local.domain.jp」に格納した想定。

個人的にはApacheよりシンプルでわかりやすい構成ファイルでいいなあと思う。

vi /etc/nginx/sites-available/web.local.domain.jp
server {
  listen 80;
  server_name web.local.domain.jp;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl http2;
  server_name web.local.domain.jp;

  ssl_certificate /var/cert/private/web.local.domain.jp/chain.pem;
  ssl_certificate_key /var/cert/private/web.local.domain.jp/key.pem;

  ssl_session_timeout 5m;
  ssl_protocols TLSv1.1 TLSv1.2;
  ssl_ciphers HIGH:!aNULL:!MD5;
  ssl_prefer_server_ciphers on;

  location / {
    proxy_pass http://localhost:5000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection keep-alive;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}

設定ファイルを作ったら有効化するためリンクを張る。

ln -s /etc/nginx/sites-available/web.local.domain.jp /etc/nginx/sites-enabled/web.local.domain.jp

ちなみにリンクの削除は以下。

unlink /etc/nginx/sites-enabled/web.local.domain.jp

リンクを貼ったらNginxをリロードする。

nginx -s reload