SSL Certificate Management#
SSL (Secure Sockets Layer) certificates encrypt the connection between your visitors’ browsers and your server, protecting sensitive data like passwords, credit card numbers, and personal information. HostsNix makes SSL management simple with built-in Let’s Encrypt integration and support for manual certificate uploads.
In HostsNix, SSL is managed per website through the website’s settings — not from a separate SSL page. This keeps everything about a website in one place.
Accessing SSL Management#
To manage SSL for any website:
- Navigate to Websites from the sidebar
- Find the website you want to secure
- Click the settings gear icon (⚙️) in the Actions column
- In the “Edit Website” dialog, you’ll see three options: Vhost Configuration, PHP Settings, and SSL Management
- Click “SSL Management”
Automatic SSL (Let’s Encrypt)#
Let’s Encrypt provides free, trusted SSL certificates that work in all major browsers. HostsNix automates the entire process.
In the SSL Management dialog, select “Automatic (Let’s Encrypt)” and you’ll see three action buttons:
Generate Certificate — Requests and installs a new SSL certificate for this domain. Before clicking, make sure:
- Your domain’s DNS A record points to this server’s IP address
- The website is accessible on port 80 (HTTP) — Let’s Encrypt needs this for domain verification
- Port 80 is open in your firewall settings
The certificate generation process takes about 10-30 seconds. Once complete, HTTPS is enabled immediately and all HTTP traffic is automatically redirected to HTTPS.
Renew Certificate — Manually triggers a certificate renewal. Let’s Encrypt certificates are valid for 90 days, but HostsNix automatically renews them before expiry. Use this button if you need to force an early renewal.
Revoke Certificate — Revokes and removes the SSL certificate. This disables HTTPS for the website. Use this if you need to switch to a manual certificate or troubleshoot SSL issues.
Manual Certificate Upload#
If you have a commercial SSL certificate (e.g., from DigiCert, Comodo, or a wildcard certificate), select “Manual Certificate Upload” in the SSL Management dialog.
You’ll need to provide:
- Certificate File (.crt or .pem) — Your SSL certificate
- Private Key File (.key) — The private key generated when you created the Certificate Signing Request (CSR)
- CA Bundle (optional) — The certificate authority’s intermediate certificate chain. Required by most commercial SSL providers
Upload all files and click “Install Certificate”. The panel will validate the certificate matches the domain and private key, then configure Nginx accordingly.
Auto-Renewal#
For Let’s Encrypt certificates, HostsNix runs an automatic renewal check every day. Certificates are renewed approximately 30 days before they expire. You don’t need to do anything — renewals happen silently in the background.
You can verify the current expiry date from the Websites list — the SSL column shows the certificate status. If auto-renewal fails (usually due to DNS changes), you’ll see a warning indicator.
HTTPS Redirect#
When SSL is enabled for a website, HostsNix automatically configures a 301 permanent redirect from HTTP to HTTPS in the Nginx configuration. This means:
- Visitors typing
http://yourdomain.comare automatically redirected tohttps://yourdomain.com - Search engines are notified of the permanent redirect, preserving your SEO rankings
- All links and resources are served securely
Troubleshooting SSL#
“Certificate generation failed”: The most common cause is that your domain’s DNS doesn’t point to this server. Verify with dig yourdomain.com or an online DNS checker. Also ensure your firewall allows port 80.
“SSL certificate expired” warning in browser: If auto-renewal failed, go to SSL Management and click “Renew Certificate” manually. Check that port 80 is still open and DNS is correct.
Mixed content warnings: Your site loads over HTTPS but some resources (images, scripts, stylesheets) are loaded over HTTP. Update your CMS settings to use HTTPS URLs, and check for hardcoded http:// references in your content.