How to implement certificate based access to self hosted services?

WhyAUsername_1@lemmy.world to Selfhosted@lemmy.world – 20 points –

I am hosting few services for my friends and family on my server. Due to devices limitations, I can't install VPN on TVs etc. Is it possible to restrict the access to only those users that have a certificate issued by me?

10

You are viewing a single comment

Use mTLS (mutual TLS) also called client certificates with nginx or whatever your webserver is

mtls over nginx is the simplest way. but be aware that while it works great on desktop browsers, other reduced browsers (incl mobile) often don't support it.

It works on Android using Chromium based browsers too. You have to install your client certificate in the Android Settings. When you visit the site using a chromium based browser, it will ask you to verify yourself using the installed certificate. I used to use it in the past

Unfortunately it doesn't work with Firefox on Android. Don't know anything about iOS

Superb. Planning to implement this with Caddy. Nginx was having performance issues , last time I configured it. Maybe I didn't configure it well..

Will try nginx as reverse proxy if Caddy doesn't work well for mTLS.