Leggi la documentazione ufficiale di Wireguard o OpenVPN.Grazie per la risposta. La "chiave VPN" è la VPN stessa? Dove mi posso informare su come implementare meccanismi del genere?
Wireguard usa solo ECDH con Curve25519, quindi una chiave è sempre grande 256 bit. Sia il client che il server hanno una coppia di chiavi pubblica e privata e puoi inserire la chiave pubblica dei client nella configurazione del server, in questo modo solo chi è in possesso della chiave privata di un client registrato può accedere.
OpenVPN invece supporta diversi metodi di autenticazione (PSK, certificati RSA, ECDH..., username/password).
Una volta configurata la VPN puoi mettere il web server in listen solo su quell'interfaccia, in questo modo il sito è raggiungibile solo se si è connessi alla VPN, per tutti gli altri porte 80 e 443 sembreranno chiuse.