Skip to main content

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

  1. Prepare: Stop any other service using port 80. Set port: 80 in config.yml and restart the web server.

  2. Start the challenge:

    /zyveraweb acme start example.com http
    
  3. Accept ToS:

    /zyveraweb acme tos
    
  4. 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>/
  5. 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

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