Using certificate with Joplin App

If this is a bug report, please create it on GitHub instead. Follow this link:

on

Operating system

Linux

Joplin version

3.3.13

Desktop version info

3.3.13 (prod, linux)

Sync target

Joplin Server

Editor

Markdown Editor

What issue do you have?

Hi,
My goal is to have a Jopllin server deployed on a docker on a server with a reverse proxy (nginx) that will handle connexion requests. The Requests are from clients on Desktop Joplin and Android Joplin (I will ignore this last case for now).
Whitout authentication, the synchronisation is working fine.

I have problem when the reverse proxy ask for client certificates. In the desktop App Optios > Synchronisation > Show Advanced Settings Under "Custom TLS certificates" I gave a folder with all client certs and also tried to select specific certs for testing. Every time, the nginx rejects the sync attempt as it didn't received any certs in the request.

On the other hand, making a curl request with the same certs yield better results. Here is the 2 requests : first from curl, the other from Joplin Desktop app :

[23/Jan/2026:10:20:12 +0000] :443 502 b=150 "-" "curl/8.5.0" verify="SUCCESS" subject="CN=,O=Client,C=FR"
[23/Jan/2026:10:23:06 +0000] :443 400 b=230 "-" "curl/8.5.0" verify="NONE" subject="-"

From the Joplin log I see :

2026-01-23 11:54:11: JoplinServerApi: [warn] curl -v -X POST -H "X-API-MIN-VERSION: 2.6.0" -H "Content-Type: application/json" -H "Content-Length: 122" --data '{"email":"","password":"******","apiKey":"","platform":2,"type":1,"version":"3.5.12"}' 'https:///api/sessions'

None of the certs are included in the request.
Am I doing something wrong or this kind of sync with certs is not supported ?

@janbono welcome to the forum.

Adding the server certs to Joplin does not send them to the reverse proxy.

Adding the certificate authority cert (used to create the self-signed server certs) to the Joplin client allows the joplin client to recognise those self-signed certs on its end of the connection. Just like adding the certificate authority cert to your web browser stops it complaining about encountering "untrusted" self-signed certs.

nginx, on the other end of the connection, also needs the associated server certificates and key file (pem files) referenced in the nginx server block (conf file in /etc/nginx/sites-available/) that defines the reverse proxy for your Joplin Server.

See nginx - Configuring HTTPS servers

If you are using nginx proxy manager you will have to add a custom certificate by uploading the server certs/key and then link that custom certificate to your proxy host using the proxy host's SSL tab.