HTTP Challenge
The HTTP-01 challenge is the simplest way to validate domain ownership. Let's Encrypt makes an HTTP request to http://<your-domain>/.well-known/acme-challenge/<token> and checks for a specific response.
Requirements
- The web server must be accessible on port 80
- The domain must resolve to your server's IP address
- No firewall blocking port 80
Process
-
Prepare: Stop any other service using port 80. Set
port: 80in config.yml and restart the web server. -
Start the challenge:
/zyveraweb acme start example.com http -
Accept ToS:
/zyveraweb acme tos -
Automatic validation:
- The plugin creates a challenge file at
<webroot>/.well-known/acme-challenge/<token> - Let's Encrypt fetches the file and validates it
- The file is automatically deleted after validation
- The certificate is issued and saved to
ssl/<domain>/
- The plugin creates a challenge file at
-
Enable HTTPS:
- Add an
ssl:block to the site config in config.yml - Optionally change the port back from 80 to your preferred HTTPS port
- Run
/zyveraweb server restart
- Add an
Verification
curl http://example.com/.well-known/acme-challenge/test
Troubleshooting
| Issue | Solution |
|---|---|
| Port 80 is in use | Stop the conflicting service (e.g., Apache, Nginx) |
| Challenge fails | Ensure the domain resolves to your server IP |
| Connection refused | Check firewall rules for port 80 |
| "No HTTP challenge" | Ensure you used http as the challenge type |
No comments to display
No comments to display