Hi All
I've recently setup a Joplin Server on a Linode instance. In order to get it to work I have to put it behind a Linode LB to translate the port request to 22300. This works great, sync time is rapid. This isn't ideal as the LB (node balancer) is $10 per month.
So now I'm looking to secure that I'm struggling to understand how to do it. I've read different posts about people using NGINX or Apache, but the whole process seems very messy and long.
I know enough to fumble my way around creating servers and have more of a networking background. Usually my involvement with certificates is adding them to an F5 load balancer but I don't generate them or configure the backend.
Thanks Laurant.
I think it is running on a VPS. It's a an Ubuntu VM where I've installed docker and created the docker container. Would apache need to run natively on the host or within the docker container? I don't need the LB, all it's doing is translating the ports.
Apache would need to be out of the Docker container. I think it's bundled by default with Ubuntu Server or if not it's very easy to install and configure. You would basically need to add the ProxyPass directives to one of the default configurations, then run Certbot to enable TLS.
I am using NGINX as a front end for all my local web servers including Joplin.
I use certbot for LetsEncrypt SSL certificates and some additional configs to secure the site.
I use allowcountries as a nginx config using geoip to allow local IP addresses and also those in my country only but only permit this for non login to prevent admin access other than on my local network.
LetsEncrypt is dead easy with nginx -- install certbot and just enter certbot --nginx - it will then prompt you and add the certificate to the config file (if you use something like below remove the SSL elements as certbot will put that in for you)