Nginxを使ってリバースプロキシを構築し、同じサーバー内に複数Node.jsプロジェクトを構築する方法メモ。
まず、nginxを構築し、設定ファイル(nginx.conf)を以下の通りにします。
# /nginx/default.conf
server {
listen 80;
location /a/ { ## API - 1
proxy_pass http://localhost:8080/;
}
location /b/ { ## API - 2
proxy_pass http://localhost:8000/;
}
}
つまりこのようにポートで切り分ける感じですね。
なお「同じドメインを使って運用したいけど、サーバー1台じゃやだ」等場合は、プライベートネットワークを構築します。
そんな場合はこんな感じです。
server {
listen 80;
location /a/ { ## API - 1
proxy_pass http://192.168.1.2/;
}
location /b/ { ## API - 2
proxy_pass http://192.168.1.3/;
}
}
また、SSL対応(Let’s enclipt導入)する場合、追加に以下のような設定します。
listen 443;
ssl on;
ssl_certificate /etc/letsencrypt/live/younaship.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/younaship.com/privkey.pem;
location /.well-known { ## SSL key
root /var/www/lets/;
}
こうすると各プロジェクト(サーバー)で導入しなければいけなかったSSL対応も一括で出来てかなり楽になりますね◎
ちなみにパス指定の
location /aaa
location /aaa/
は全く意味が違うので注意です。
この構成で構築する際はここに注意しましょう_ _b