Hello Guys!
I was trying to get Apache2 to work as a proxy. Finally I did it but I have had a few issues:
- first It wasn't reachable at all
- then Images just fetched still in
HTTP
- suddenly I had problems with WebSockets, they didn't work
- with this fixed: login wasn't working anymore
- with this fixed I wasn't able to use
https://
in my config.json
- .. and so on and so an
I struggled about 3 hours to get it work. Now my NodeBB-instance is running under the hood of Apache2 - delivered by a subdomain. Everything is working. So I just want to share my Apache2 configuration so that you do not have to struggle with the same things.
Apache2 configuration:
<IfModule mod_proxy.c>
ProxyPass /.well-known/acme-challenge !
</IfModule>
Alias /.well-known/acme-challenge /home/dogs/www/.well-known/acme-challenge
ProxyPass / http://127.0.0.1:4567/
ProxyPassReverse / http://127.0.0.1:4567/
# Required for websockets
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://localhost:4567%{REQUEST_URI} [P]
# Required to tell its external port
RequestHeader set X-Forwarded-Port "443"
RequestHeader set X-Forwarded-Proto "https"
Maybe you can remove
Alias /.well-known/acme-challenge /home/dogs/www/.well-known/acme-challenge
or change it to another path! 
For SSL-Encryption you can simply use certbot or whatever. Apache2 is still fully customizable and only works as a reverse proxy.
Bye bye