안녕하세요 여러분.
Docker 컨테이너에서 Discourse를 설정하려고 합니다. 호스트 환경(Debian)에는 Apache httpd 서버가 실행 중입니다(다른 사이트를 Apache에 호스팅하고 있기 때문에 nginx를 실행할 수 없습니다). 포트 3000에서 리스닝 중인 컨테이너로 리버스 프록시하기 위해 mod_proxy를 사용하려고 합니다.
현재 이 vhost에 대한 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이 포함된 주석을 참고해 주세요.
이 문제를 해결하는 방법에 대한 조언을 주시면 감사하겠습니다!