L'autofirmazione ti darebbe i vantaggi della crittografia, ma non darebbe la certezza che i tuoi clienti si connettano al tuo server in quanto non è verificabile da un'autorità di certificazione.
Autenticare il server contro il suo indirizzo IP ti metterebbe a rischio IP hijacking . L'uso dell'IP invece del nome di dominio elimina lo spoofing DNS dall'equazione, ma non rimuove completamente la minaccia degli attacchi MITM, quindi non si dovrebbe utilizzare la corrispondenza IP come unico meccanismo di convalida.
Sarebbe meglio ottenere un dominio e un certificato valido per il dominio a basso costo (certificato DV) e accertarsi che i client convalidino il nome alternativo del soggetto per una corrispondenza durante l'handshake.
Oltre ai vantaggi per la sicurezza, questo ti darà anche la praticità e la portabilità in futuro se hai bisogno di spostare il server.
L'eccezione è se hai il controllo totale sulle tue applicazioni client. Quindi è possibile utilizzare un certificato autofirmato e utilizzare il blocco dei certificati per assicurarsi che sia il server a cui si stanno connettendo.