Hi Discouse Team,
I am running an nginx server on my host machine and a pretty standard Discourse container in Docker. Basically, I have a small number of specific (http) folders served by the host nginx, and everything else is forwarded to the Discourse container via proxy_pass.
As far as I understand the issue, its sufficient to understand that my host nginx conf file defines a location /xyz, which is handled by the host nginx, and then a location / is defined to be proxy_pass’ed to the Discourse container.
For my use case, I need to post links as Discourse postings pointing to my.domaiin.com/xyz/some.html
, i.e., Links inside Discourse are pointing to pages served by the host nginx.
That worked until the last Discourse update. Now clicking on the links end up in the Discourse “could not find…” page. In contrast, copying Link targets and opening them in a new tab works as expected.
I have quite some understanding about low level protocols, but the higher it gets in the protocol stack, the less I know
Currrent working hypthesis is that Discourse nginx keeps the connection open (keepalive?), so the host nginx misses the opportunity parsing the new request path to select the correct server. Connection’s requests are passed to the container as is kept alive. Then the request for path /xyz is answered by Discourse who does not know this folder…
How should I approach this issue? If there is no simple solution, it would already help to get some pointers, even a good description with respect to decent http protocol knowledge might help.
Thanks!