Using Central with Apache upstream proxy

Hello all, thanks for your work.
1. What is the issue? Please be detailed.

I configured odk central on my server on ports 8443 and 8888, side to Apache on ports 443 and 80.

All work, but not Enketo. The lunch is ok but the submit show error message 204.

2. What steps can we take to reproduce this issue?

Install odk with docker image with customSSL and custom ports 8443/8888.

3. What have you tried to fix the issue?

I search in the logs docker but dont find any error.

4. Upload any forms or screenshots you can share publicly below.

image

#####Apache conf #####.
<VirtualHost *:443>

ServerName odk.exemple.com

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/odk.exemple.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/odk.exemple.com/privkey.pem

RewriteEngine On
RewriteCond %{SERVER_PORT} !^8443$
RewriteRule ^/(.*)$ https://%{SERVER_NAME}:8443/$1 [L,R=301]

<VirtualHost *:80>

ServerName odk.exemple.com

RewriteEngine On
RewriteCond %{SERVER_PORT} !^8888$
RewriteRule ^/(.*)$ https://%{SERVER_NAME}:8443/$1 [L,R=301]

#####.env conf :#####

DOMAIN=odk.exemple.com

SYSADMIN_EMAIL=odk@exemple.com

SSL_TYPE=customssl
HTTP_PORT=8888
HTTPS_PORT=8443

No one has any idea ?

Most of us are more familiar with using nginx than Apache for upstream proxying. Try Server configuration with reverse proxy returns timeout and proxy errors to see if you can find any hints to what working config looks like.

Thank's for your replay yanokwa !

I will follow your link and send feedback !

Regard

Hi !
news over here.

the problem was here:

RewriteEngine On
RewriteCond %{SERVER_PORT} !^8443$
RewriteRule ^/(.*)$ https://%{SERVER_NAME}:8443/$1 [L,R=301]

instead of using a rewrite, you have to use a proxy pass, like this

<VirtualHost *:443>
SSLProxyEngine On
ServerName odk.exemple.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/odk.exemple.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/odk.exemple.com/privkey.pem

ProxyPreserveHost On
ProxyPass / https://odk.exemple.com:8443/
ProxyPassReverse / https://odk.exemple.com:8443/

Have a nice day and thanks again to the team!

1 Like