[Documentation] Missing nginx and apache reverse proxy examples
I see a lot of different discussions, and I am confused at what configurations are the right ones for using the latest image behind nginx and/or apache at a subdirectory.
I've seen several different versions of rewrite regex, varying uses of PMA_ABSOLUTE_URI, and different ways of establishing the location block in nginx. Unfortunately, nothing is in the docs to help reign in all the differing information I see in these issues. I don't even know when I should populate the absolute URI and when not to, there are some bugs that say it should be specified and others that started working when the left it blank. My pma instance always tries to load scripts from the root URL instead of the location I have set in nginx.
All of these have differing ideas of what does and doesn't work:
- #210
- #334
- #296
- #253
I am just wondering, what is the official suggestion from the pma docker devs on how the nginx proxy config should look like? Haproxy and traefik examples exist in the docs, but nothing for apache or nginx. I feel like I am just running around in circles and there are too many differing bugs posted to make sense of in a coherent manner.
It seems like there is some special combination of using rewrite inside the location block (what's the regex supposed to be?), how to specify the location block in the first place, and using the PMA_ABSOLUTE_URI variable.
This isn't really a request for troubleshooting help as I am still trying all of the things, but more for transparency in what is expected to work from the maintainers' perspectives. We currently don't have this information documented.
It appears that the bare minimum required for nginx is:
location /pma/ {
proxy_pass http://pma_container;
rewrite ^/pma(/.*)$ $1 break;
}
IMPORTANT NOTES:
- The location block must have a trailing
/ - The
proxy_passdirective must NOT have a trailing/ -
PMA_ABSOLUTE_URImust be set, and also must have a trailing/ - The
rewritedirective is required, and the regex example in the last comment of #210 appears to work for this setup - There may be other directive requirements for use with https
If I deviate from any of these notes, the configuration fails to load the login page.