LaMachine icon indicating copy to clipboard operation
LaMachine copied to clipboard

Bad gateway error when accessing oralhistory

Open lpwevers opened this issue 4 years ago • 6 comments

I've build a LaMachine docker container using this dockerfile:

FROM proycon/lamachine:core
MAINTAINER Maarten van Gompel <[email protected]>
LABEL description="A LaMachine installation with Kaldi NL and Oral History (CLST)"
RUN sudo apt install python3-apt
RUN lamachine-config lm_base_url https://lnx-hrl-269v.pwo.ou.nl
RUN lamachine-config private true
RUN lamachine-add python-core
RUN lamachine-add labirinto
RUN lamachine-add kaldi_nl
RUN lamachine-add oralhistory
RUN lamachine-update
ENTRYPOINT [ "/usr/local/bin/lamachine-start-webserver", "-f" ]

After the build completes without errors, I can access the LaMachine portal page. However, when I try to access "Automatic Transcription of Dutch Speech Recordings" I end up with a 502 Bad Gateway error. The URL it tries to access is http://lnx-htl-269v.pwo.ou.nl:8080/oralhistory

It was my assumption that with the "lamachine-add oralhistory" command it would have built and configured this. So I guess I'm missing something, but what?

Kind regards, Louis

lpwevers avatar Dec 01 '21 13:12 lpwevers

It was my assumption that with the "lamachine-add oralhistory" command it would have built and configured this. So I guess I'm missing something, but what?

You're right, it should have. I hope it's just a bug in the portal page.

What happens if you access https://lnx-htl-269v.pwo.ou.nl/oralhistory instead? Does that show the oral history ASR service correctly? That's where I expect it to be.

proycon avatar Dec 02 '21 10:12 proycon

Were you accessing the portal on http://lnx-htl-269v.pwo.ou.nl:8080/ or on https://lnx-hrl-269v.pwo.ou.nl ? If the former was the case, then the portal may have detected that and rewritten some URLs. The idea is the only use the URL you configured as lm_base_url . It may help to additionally set this in the DockerFile:

RUN lamachine-config force_https true

proycon avatar Dec 02 '21 12:12 proycon

The server mentioned in the URL (lnx-hrl-269v.pwo.ou.nl) is the server that runs the docker container. It forwards incoming traffic on port 8080 to port 80 of the LaMachine docker container.

As it's not configured to use HTTPS (yet) contacting that URL directly didn't work. So I tried running a browser from the host server and access the LaMachine from there using normal HTTP. The result was, unfortunately, the same.

I'll rebuild with the force_https true option and see if that fixes the issue.

As for the other, accessing http://lnx-hrl-269v:8080/lamastats/ works. That brings me to a page called "CLAM Webservice Statistical Report". Since nothing is done yet the report is empty, but I guess that's expected.

lpwevers avatar Dec 02 '21 12:12 lpwevers

Ok, I would expect http://lnx-hrl-269v:8080/oralhistory/ to at least present something then (even though the interface will probably not render because of the URL mismatch), but you shouldn't get a HTTP 502 there.

If the HTTP 502 persists, then the log inside the container at /usr/local/var/log/uwsgi/oralhistory.uwsgi.log should provide a clue as to why the backend service didn't start.

I'll see if I can replicate the problem on my side.

proycon avatar Dec 02 '21 12:12 proycon

I rebuild with lamachine-config force_https true. But alas, that does not configure nginx to actually listen on port 443, so I can't even connect then.

It does rewrite the links on the portal page to https but they don't work.

lpwevers avatar Dec 02 '21 14:12 lpwevers

Yes, that is by design, it ensures the links are rewritten properly but LaMachine itself never handles https, your reverse proxy needs to do that, so testing that properly will only work if the reverse proxy is properly set up.

proycon avatar Dec 02 '21 15:12 proycon