Cloudflare Tunnelの裏で動くNginxの設定方法【自宅Ubuntu Server】

Nginx

Cloudflare Tunnelで自宅サーバーを公開できました。

でも実は、その裏側では Nginx が動いています。

Cloudflareは“入り口”。

実際にリクエストを受け取って振り分けているのがNginxです。

今回は、自宅Ubuntu ServerでのNginx設定をまとめます。


1. なぜNginxが必要なのか?

今の構成はこうなっています。

インターネット

Cloudflare

Cloudflare Tunnel

Nginx

WordPress / 各アプリ

Nginxの役割は:

  • Webリクエストを受け取る
  • サブドメインごとに振り分ける
  • ローカルのアプリに転送する(リバースプロキシ)

つまり「交通整理係」です。


2. Nginxのインストール

Ubuntu Serverでインストールします。

sudo apt update
sudo apt install nginx -y

確認:

sudo systemctl status nginx

active (running) になっていればOK。


3. 基本ディレクトリ構成

Nginxの設定はここにあります。

/etc/nginx/

特に重要なのは:

/etc/nginx/sites-available/
/etc/nginx/sites-enabled/
  • sites-available → 設定ファイル置き場
  • sites-enabled → 有効化された設定

4. サブドメインごとの設定例

例えば:

ubuntu.gotohsys.com

をポート80のアプリに繋げる場合。

設定ファイル作成

sudo nano /etc/nginx/sites-available/ubuntu

中身:

server {
listen 80;
server_name ubuntu.gotohsys.com; location / {
proxy_pass http://localhost:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}

保存:

Ctrl + O → Enter
終了:

Ctrl + X


有効化

sudo ln -s /etc/nginx/sites-available/ubuntu /etc/nginx/sites-enabled/

設定チェック

sudo nginx -t

OKなら再起動:

sudo systemctl reload nginx

5. 複数サブドメインを振り分ける

例:

blog.gotohsys.com → localhost:8080
chat.gotohsys.com → localhost:3000

設定例:

server {
listen 80;
server_name blog.gotohsys.com; location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
}
}

これでアプリごとに振り分け可能。


6. Cloudflare Tunnelとの関係

Cloudflare Tunnelでは、

各サブドメインを

40代がイチから始めるUbuntuServer生活

に向けています。

つまりTunnelは80番ポートへ流すだけ。

その先の振り分けをNginxが担当します。

役割分担ができています。


7. 実際にやって感じたこと

正直、最初は

「Nginxって何?」

という状態でした。

でも触っているうちに、

「あ、ただの振り分け係か」

と理解できました。

仕組みがわかると、怖くなくなります。


まとめ

Nginxは:

  • Cloudflareの後ろで動く
  • サブドメインを振り分ける
  • ローカルアプリへ接続する

自宅サーバー公開において、
非常に重要な役割を担っています。

コメント

タイトルとURLをコピーしました