... set things up so the browser communicates over ssl without giving the user a scary "identity of server not confirmed" warning?
L'autenticazione del server viene eseguita per garantire che la comunicazione venga eseguita con il server previsto anziché con un utente malintenzionato che tenta di impersonare il server. È necessario proteggere da attacchi di uomo attivo nel mezzo in cui l'attaccante può decodificare e persino modificare il traffico.
L'autenticazione del server è quindi essenziale per fornire la protezione che SSL è promettente, la crittografia senza autenticazione non è sufficiente. Ecco perché i browser si lamenteranno se il certificato non può essere verificato correttamente, ad esempio perché l'emittente del certificato non è considerato attendibile come nel caso di certificati o attacchi autofirmati. Sarebbe molto brutto se il server potesse semplicemente disabilitare questa verifica poiché un utente malintenzionato potrebbe fare anche questo.
If I want to buy a https certificate I think the fee is something like $25 per year per domain.
Da diversi anni non è più necessario acquistare un certificato in quanto ci sono CA che offrono questi gratuitamente - in particolare Let's Encrypt che è iniziato due anni fa. Numerosi fornitori di servizi di hosting addirittura integrano tali certificati gratuiti già nelle loro offerte gratuitamente e con una configurazione banale o almeno forniscono istruzioni su come impostare da soli questi certificati. Se il tuo provider di hosting rende troppo difficile l'utilizzo di tali certificati gratuiti, dovresti forse cambiare fornitore.