こんにちは。
Docker コンテナ内で Discourse をセットアップしようとしています。ホスト環境(Debian)では Apache httpd サーバーが動作しています(他のサイトを Apache でホストしているため、nginx は実行できません)。コンテナはポート 3000 でリッスンしており、mod_proxy を使用してリバースプロキシ化したいと考えています。
この仮想ホストに対する Apache の現在の設定は以下の通りです。
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
ErrorLog ${APACHE_LOG_DIR}/vhosts/example.com/error.log
CustomLog ${APACHE_LOG_DIR}/vhosts/example.com/access.log combined
<IfModule proxy_module>
## <https://meta.discourse.org/t/running-other-websites-on-the-same-machine-as-discourse/17247>
ProxyPreserveHost on
RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}
RequestHeader set X-Real-IP expr=%{REMOTE_ADDR}
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</IfModule>
</VirtualHost>
最初は ProxyPass と ProxyPassReverse ディレクティブのみで始め、その後 ProxyPreserveHost と RequestHeader ディレクティブを一つずつ追加しました。これらのディレクティブを使用してプロキシをどのように設定しても、ドキュメントルート以下の特定のファイル(例えば /images や /assets 内のものなど)にアクセスすると 404 エラーが返されます。
nginx 構文から Apache 構文に変換した Discourse Meta の URL が含まれるコメントにもご注目ください。
この問題を解決する方法について、ご助言をいただければ幸いです!