Ciao a tutti.
Sto cercando di configurare Discourse in un contenitore Docker. L’ambiente host (Debian) esegue un server Apache httpd (non posso eseguire nginx perché sto ospitando altri siti su Apache). Voglio utilizzare mod_proxy per fare reverse proxy al contenitore, che ascolta sulla porta 3000.
La configurazione attuale di Apache per questo vhost è la seguente:
<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>
Ho iniziato con le sole direttive ProxyPass e ProxyPassReverse, aggiungendo ProxyPreserveHost e le direttive RequestHeader una alla volta. Non importa come configuro il proxy utilizzando queste direttive, alcuni file sotto la root del documento restituiscono 404 quando vengono accessi (ad esempio, contenuti in /images e /assets).
Notare il commento contenente l’URL di Discourse Meta che ho convertito dalla sintassi nginx a quella Apache.
Qualsiasi suggerimento su come far funzionare questa configurazione sarebbe molto apprezzato!