>_DEVELOP

リバースプロキシとは

目次


Raspberry Pi 5 に Apache を使ってリバースプロキシを設定する手順(サブドメイン・ポート開放・a2ensite)

この記事では、Raspberry Pi 5 上に Apache を用いてリバースプロキシを設定し、サブドメイン経由でアプリケーションへアクセス可能にする方法を解説します。


前提条件

以下の環境で動作確認を行っています:

  • OS:Raspberry Pi OS Lite(Raspberry Pi 5)
  • Apache:バージョン 2.4 以上

手順

1. Apache のインストール

以下のコマンドで Apache をインストールします。

sudo apt update
sudo apt install apache2

2. 必要なモジュールの有効化

Apache のリバースプロキシ機能を使うため、以下のモジュールを有効化します。

sudo a2enmod proxy
sudo a2enmod proxy_http

3. サブドメインの設定

/etc/apache2/sites-available/ に仮想ホストの設定ファイルを作成します。

sudo nano /etc/apache2/sites-available/myapp.conf

以下の内容を記述してください:

<VirtualHost *:80>
    ServerName myapp.example.com

    ProxyPass / http://localhost:5000/
    ProxyPassReverse / http://localhost:5000/

    ErrorLog ${APACHE_LOG_DIR}/myapp_error.log
    CustomLog ${APACHE_LOG_DIR}/myapp_access.log combined
</VirtualHost>

4. サイトの有効化

作成した設定ファイルを有効化します。

sudo a2ensite myapp.conf

5. ポートの開放(必要に応じて)

UFW(Uncomplicated Firewall)を使用している場合は、ポート80(HTTP)を開放します。

sudo ufw allow 80/tcp

6. Apache の再起動

設定を反映させるために Apache を再起動します。

sudo systemctl restart apache2

注意点

  • DNS設定
    myapp.example.com が Raspberry Pi のグローバルIPまたはローカルIPに正しく向いていることを確認してください(DNSまたは /etc/hosts の設定が必要)。
  • ログ確認
    エラーが発生する場合は以下のログファイルを確認しましょう。 /var/log/apache2/myapp_error.log

まとめ

以上で、Raspberry Pi 5 上に Apache を用いたリバースプロキシ環境が構築できました。
この設定により、複数のバックエンドアプリケーションをサブドメインごとに整理して公開することが可能になります。

開発やテスト環境を効率よく運用したい場合に特に有効な手法です。