marty
For some reason all of the force-ssl-example.com.conf files in /etc/nginx/conf.d have been renamed force-ssh-example.com.conf.disabled. Fixing that fixes the problem, but I still need to keep the changes I made to locations-wo.conf or I can't fetch the URL acme.sh is trying to get.
I was able to create the certs initially and I can regenerate them manually by doing this:
wo site update example.com -le=off
wo site update example.com -le=on
...and choosing to issue a new certificate, but I'd rather have acme.sh do it. For now it's fixed in a kludgy way but I'll have to worry again in May when the certs expire.
When force-ssl-example.com.conf is enabled, http://example.com serves up the server's default site, which has the root directory /var/www/html/ and if acme.sh were looking there like it's supposed to, everything would be working fine. I don't know why acme.sh is now putting its verification file in /var/www/example.com/htdocs/.well-known/acme-challenge/ instead of /var/www/htm/.well-known/acme-challenge/. I'm not smart enough to have screwed that up by myself, and if acme.sh changed, it doesn't make sense that this isn't happening to anyone else.