I should also add that my domain name worked before I followed the guide.
I also have all of the correct files letsencrypt key, and nginx restarts without error.
From your server virtual host, you have listened on port 80 for only ipv4 and 443 for ipv6 and ipv4.
However, you only have ipv6 setup in your domain, so when you tried to reach your domain on http://www.wolverinesoap.com it’s not connecting (connection refused)
P.S. I seem to have connection timeout for your IPv6 https connection…
It sounds like you’re trying to access a local service on the same network, but using a public address.
Typically, this works in 3 flavors:
Place the Service into a DMZ on the router
Configure split-horizon DNS, so internal clients receive the internal IP, external clients receive the external IP.
Configure reflection services, or “hairpin” NAT rules on the router.
I’m sorry to say that ALL of these options are really outside the scope of the Let’s Encrypt forum, but hopefully they put you on the correct path.
The simplest option for quick development is to edit the HOSTS file on your local machine to point the fully-qualified domain name to the IP of your Raspberry Pi. This certainly doesn’t scale and has a potential to introduce confusion down the road, but I think it would get you connected quickest.
If you ever wants your configuration work on port 80, please add a listen directive that asks nginx to listen to port 80 over IPv6.
You already had Listen 0.0.0.0:80
Just add listen [::]:80
# listen to all IPv4 and IPv6 interfaces for port 80
# IPv4
listen :80;
# IPv6
listen [::]:80;
^^ this is what I said in the first reply…
Also, if you want to have your root domain working, add the IPv6 address you had for your www to your root domain.