CalDAV is something else that doesn't work, in that iOS simply tells me it failed to connect over SSL, and asks if I'd like to connect without it. No, no I would not.
You need a certificate. This is a problem that iOS introduced in one of their recent updates. Everything has to be SSL encrypted now. I had to get an SSL certificate for my nextcloud subdomain. That should fix the issue.
I have one, it's just self-signed. Let's Encrypt won't sign one if you don't have a domain name, and I have 0 reason to pay for one for a server that isn't hosting any web content.