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の後ろで動く
- サブドメインを振り分ける
- ローカルアプリへ接続する
自宅サーバー公開において、
非常に重要な役割を担っています。


コメント