Bad gateway error when accessing oralhistory
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
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.
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
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.
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.
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.
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.