Failing to install HTTPS on Joplin Server

Hi,

I've been trying my hand at the Joplin server for the last day. Because I had no previous experience with Docker, it all took a while accordingly. The whole thing is now running on a Raspberry Pi 3B+. I put an Apache webserver with Certbot certificate in front of it and installed a reverse proxy for port 22300.
Now the problem: The normal website is accessible with SSL, but as soon as I use the URL to the Joplin server (/joplin), the page is HTTP.
Can anyone help me with this or do I need to provide something else?

Kind regards
Mr. Kanister

I am in no way an expert on this but does JOPLIN_BASE_URL in your .env file specify https://?

JOPLIN_BASE_URL=https://example.com/joplin
JOPLIN_PORT=22300

No, it was not, the login page is now with HTTPS. Thanks for that already! But now I have the problem that Firefox gives me an SSL error after clicking on "login":

SSL_ERROR_RX_RECORD_TOO_LONG

I guess I have to change something in the Apache configuration...but I don't really know what...

I did get this working when the server first came out but my reverse proxy (using a LOT of cut and paste from the Interweb) was using NGINX so there is nothing I can share to help.

Is the proxy on the same machine as Joplin server? I ask as I am wondering was address your reverse proxy is passing off to.

Edit: Forget that. You are getting the login page so I guess that it must be right...

Too bad, but maybe for other people: I did set up apache and then let certbot do it's thing. It created a file called 000-default-le-ssl.conf in my sites-enabled directory. There I put the ReverseProxy, because I thought, it should go over SSL and not normal HTTP. Am I thinking wrong? The file looks the following:

<IfModule mod_ssl.c>
   <VirtualHost *:443>

    ServerName DOMAIN.COM
    ProxyPass /joplin http://127.0.0.1:22300/login
    ProxyPassReverse /joplin http://127.0.0.1:22300/login
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/DOMAIN.COM/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN.COM/privkey.pem
  </VirtualHost>
</IfModule>

Maybe that will help?

Why do you map to /login? It should be to just "/". If that can help I have it setup this way:

ProxyPass "/joplin" http://localhost:22300
ProxyPassReverse "/joplin" http://localhost:22300

SSLCertificateFile /etc/letsencrypt/live/DOMAIN.COM/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN.COM/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
1 Like

I mapped it there because otherwise I can't even get to the login page...when I type domain.com/joplin/login I get as message Path not found: login. After clicking Back to the login page I get the above mentioned SSL error again...

Ouch, it's always the little things that you don't even notice at some point...I entered domain.com:22300 and not domain.com/joplin as the URL in the docker-compose.yml file...annoying!

But thanks for the help anyway!
Best regards!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.