How to Enable HTTPS/SSL on DreamHost: Free SSL Setup Guide 2025
SSL certificates encrypt data between your website and visitors, protecting sensitive information and building trust. Google prioritizes HTTPS sites in search rankings, and modern browsers warn users about non-secure sites. Fortunately, DreamHost makes SSL setup effortless with free Let's Encrypt certificates on all hosting plans.
This comprehensive guide walks you through enabling HTTPS on your DreamHost website, from adding SSL certificates to forcing HTTPS site-wide, troubleshooting common issues, and understanding SSL best practices.
Understanding SSL/HTTPS
What is SSL?
SSL (Secure Sockets Layer) is a security protocol that encrypts data transmitted between a web browser and server. The modern version is technically TLS (Transport Layer Security), but "SSL" remains the common term.
What SSL Does:
- Encrypts sensitive data (passwords, credit cards, personal info)
- Authenticates website identity
- Enables HTTPS protocol (HTTP Secure)
- Shows padlock icon in browser
- Required for eCommerce and forms
HTTP vs HTTPS:
- HTTP: Unencrypted, insecure, marked "Not Secure" by browsers
- HTTPS: Encrypted, secure, shows padlock, boosts SEO
Types of SSL Certificates
Domain Validated (DV) - Let's Encrypt:
- Validates domain ownership only
- Free from Let's Encrypt
- Perfect for most websites
- Instant issuance
- Auto-renews every 90 days
- DreamHost includes free
Organization Validated (OV):
- Validates organization details
- Shows company name in certificate
- $50-150/year
- Good for business sites
Extended Validation (EV):
- Extensive vetting process
- Shows company name in green bar (older browsers)
- $150-300/year
- Best for enterprise/eCommerce
Wildcard SSL:
- Secures domain and all subdomains
- *.yourdomain.com
- More expensive
- Available from DreamHost
For Most Users: Free Let's Encrypt DV certificate is perfect.
Prerequisites
Before adding SSL:
Active DreamHost Hosting
- Website fully hosted on DreamHost
- Not just parked or redirected
Domain Properly Configured
- Domain pointing to DreamHost
- DNS propagated (can take 6-24 hours for new domains)
- Domain accessible via browser
No Existing SSL Conflicts
- Remove old SSL certificates if present
- Clear any SSL-related errors
Step-by-Step: Adding Free Let's Encrypt SSL
Step 1: Access DreamHost Panel
Log In
- Visit panel.dreamhost.com
- Enter email and password
- Complete two-factor authentication if enabled
Navigate to SSL/TLS
- Left sidebar: Domains
- Click SSL/TLS Certificates
- You'll see all your domains listed
Step 2: Add SSL Certificate
For Each Domain:
Locate Your Domain
- Find domain in the list
- Check "SSL Certificate" column
- If empty, no SSL installed yet
Click Add Button
- Click "Add" button next to your domain
- SSL certificate options appear
Choose Let's Encrypt
- You'll see two options:
- Let's Encrypt (Free)
- Sectigo (Paid, $15/year)
- You'll see two options:
Select Let's Encrypt
- Click "Select this Certificate" under Let's Encrypt
- Free SSL certificate option
Confirm Installation
- Review domain name
- Confirm subdomains if applicable
- Check "I agree to Let's Encrypt terms"
- Click "Add Certificate Now"
Step 3: Wait for Installation
Installation Time:
- Typical: 10-30 minutes
- Can take up to 2 hours
- Do not close browser or navigate away
What Happens:
- DreamHost requests certificate from Let's Encrypt
- Domain verification occurs automatically
- Certificate generated
- Certificate installed on server
- HTTPS becomes available
During Installation:
- Page shows "Installing..." status
- Don't interrupt process
- Can check other sites in new tab
Completion:
- Status changes to "Active"
- Certificate details appear
- Expiration date shown (90 days from installation)
- Auto-renewal: Enabled by default
Step 4: Verify SSL is Active
Test HTTPS:
Visit Your Site
- Type: https://yourdomain.com (note HTTPS)
- Press Enter
Check for Padlock
- Padlock icon appears in address bar
- Click padlock to view certificate details
- Certificate should say "Issued by: Let's Encrypt"
Certificate Checker
- Visit: https://www.ssllabs.com/ssltest/
- Enter your domain
- Run SSL test
- Should get A or A+ rating
If SSL Not Working:
- Wait longer (up to 2 hours)
- Clear browser cache
- Try incognito/private browsing
- Check DNS propagation
Step 5: Force HTTPS Site-Wide
SSL installed doesn't automatically redirect HTTP to HTTPS. You must configure forced HTTPS.
Method 1: DreamHost Panel (Easiest)
Enable HTTPS Redirect:
Domains Menu
- Left sidebar: Domains
- Click Manage Domains
Edit Domain
- Find your domain
- Click Edit (under Web Hosting column)
Force HTTPS
- Scroll to "Force HTTPS" option
- Check "Force HTTPS" box
- Click "Change Settings"
Wait for Activation
- Takes 5-10 minutes
- All HTTP requests redirect to HTTPS automatically
This Method:
- Simplest approach
- No code editing required
- DreamHost manages redirects
- Works for all pages
Method 2: .htaccess File (Advanced)
For More Control:
Access File Manager
- Panel > Files > File Manager
- Or use FTP/SFTP client
Locate .htaccess
- Navigate to your website's root directory
- Look for .htaccess file
- If not visible, enable "Show hidden files"
Edit .htaccess
- Right-click .htaccess
- Click "Edit"
- Or download, edit locally, re-upload
Add Redirect Code
- Add this code at TOP of .htaccess:
# Force HTTPS
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Header always set Content-Security-Policy "upgrade-insecure-requests"
Save File
- Save changes
- Close editor
Test Redirect
- Visit http://yourdomain.com (HTTP)
- Should redirect to https://yourdomain.com (HTTPS)
- Check several pages
Benefits of .htaccess Method:
- More customizable
- Additional security headers
- Control redirect type (301 permanent)
- Works universally
Method 3: WordPress Plugin
For WordPress Sites:
Install Really Simple SSL
- Dashboard > Plugins > Add New
- Search "Really Simple SSL"
- Install and Activate
Configure Plugin
- Plugin auto-detects SSL
- Click "Activate SSL" button
- Plugin handles all redirects
Verify Settings
- Settings > SSL
- Check configuration
- Test mixed content detection
Plugin Benefits:
- One-click setup
- Fixes mixed content issues automatically
- WordPress-specific optimizations
Fixing Mixed Content Warnings
Mixed content occurs when HTTPS page loads HTTP resources (images, scripts, stylesheets).
Identifying Mixed Content
Browser Console:
Open Developer Tools
- Right-click page > Inspect
- Or press F12
Check Console Tab
- Look for warnings like:
- "Mixed Content: The page was loaded over HTTPS, but requested an insecure resource"
- Lists specific HTTP URLs causing issues
Fixing Mixed Content
Method 1: Search and Replace URLs
For WordPress:
Install Better Search Replace
- Plugins > Add New
- Search "Better Search Replace"
- Install and Activate
Run Search Replace
- Tools > Better Search Replace
- Search for: http://yourdomain.com
- Replace with: https://yourdomain.com
- Select all tables
- Check "Run as dry run" first
- Then uncheck and run for real
Verify
- Check pages for mixed content
- Browser console should be clean
Method 2: Content Security Policy
Add to .htaccess:
Header always set Content-Security-Policy "upgrade-insecure-requests"
This tells browsers to automatically load HTTP resources as HTTPS.
Method 3: Manual Fix
- Edit pages/posts individually
- Change image URLs from HTTP to HTTPS
- Update hard-coded links
- Fix embedded content
Updating Internal Links
WordPress Sites:
Update Site URL:
- Settings > General
- WordPress Address (URL): https://yourdomain.com
- Site Address (URL): https://yourdomain.com
- Save Changes
Search Replace Database:
- Use plugin mentioned above
- Or Better Search Replace
- Update all HTTP references
Static HTML Sites:
- Find all internal links
- Change http:// to https://
- Or use relative URLs (//yourdomain.com or /page.html)
SSL Auto-Renewal
DreamHost automatically renews Let's Encrypt certificates.
Auto-Renewal Details:
- Let's Encrypt certificates valid for 90 days
- DreamHost renews 30 days before expiration
- Happens automatically, no action needed
- Email notification of renewal
- No downtime during renewal
Manual Renewal (if needed):
- Rarely necessary
- Panel > Domains > SSL/TLS Certificates
- Click domain > Renew
- Only if auto-renewal failed
Monitoring Expiration:
- Check Panel regularly
- Look for expiration warnings
- Verify auto-renewal enabled
Adding SSL to Subdomains
Subdomain SSL:
Ensure Subdomain Fully Hosted
- Panel > Domains > Manage Domains
- Subdomain must be "Fully Hosted"
Add SSL Certificate
- Same process as main domain
- Domains > SSL/TLS Certificates
- Click "Add" next to subdomain
- Choose Let's Encrypt
- Install
Force HTTPS on Subdomain
- Edit subdomain settings
- Enable "Force HTTPS"
Wildcard SSL (covers all subdomains):
- Available as paid option
- Secures *.yourdomain.com
- Contact DreamHost support for setup
SSL for Custom Email
SSL for Webmail: DreamHost webmail includes SSL automatically:
Email Client SSL: Email client connections use SSL by default:
- IMAP: Port 993 with SSL/TLS
- SMTP: Port 465 or 587 with SSL/TLS
- Already configured, no action needed
Troubleshooting Common SSL Issues
Certificate Installation Fails
Causes:
- Domain DNS not pointed to DreamHost
- Domain not fully hosted
- Previous SSL conflict
Solutions:
- Verify DNS points to DreamHost nameservers
- Check domain is "Fully Hosted" in Panel
- Wait 24 hours after DNS changes
- Remove old SSL certificates first
- Contact DreamHost support
Mixed Content Warnings
Fix:
- Use search/replace plugin for URLs
- Add Content-Security-Policy header
- Manually update hard-coded HTTP links
- Check third-party embeds
SSL Works on WWW but not Non-WWW (or vice versa)
Solution:
Add SSL to both versions
- Install SSL for both www and non-www
- Panel auto-includes both usually
Set Preferred Version
- Panel > Domains > Manage Domains
- Edit domain
- Choose "Add WWW" or "Remove WWW"
- Redirects automatically configured
Browser Shows "Not Secure"
Causes:
- SSL not properly installed
- Certificate expired
- Mixed content on page
- Visiting HTTP version
Check:
- Verify HTTPS in URL bar
- Check certificate expiration
- Test with SSL Labs
- Clear browser cache
- Check mixed content console
ERR_SSL_PROTOCOL_ERROR
Fixes:
- Clear browser cache and cookies
- Disable browser extensions
- Check date/time on computer
- Try different browser
- Clear SSL state (Windows: Internet Options > Content > Clear SSL state)
Security Best Practices
After Enabling SSL
Update Third-Party Services
- Google Analytics: Update property URL to HTTPS
- Google Search Console: Add HTTPS property
- Social media: Update website URLs
- Email signatures: Change links to HTTPS
Set Up HSTS (Optional)
HTTP Strict Transport Security forces browsers to use HTTPS.
Add to .htaccess:
Header always set Strict-Transport-Security "max-age=31536000" env=HTTPSImplement Security Headers
.htaccess additions:
Header always set X-Frame-Options "SAMEORIGIN" Header always set X-Content-Type-Options "nosniff" Header always set X-XSS-Protection "1; mode=block"Monitor Certificate Status
- Check expiration dates
- Verify auto-renewal working
- Test site monthly with SSL Labs
Backup Before Changes
- Back up site before SSL setup
- Save .htaccess before editing
- Document all changes
Checking SSL Status
SSL Labs Test:
- Visit https://www.ssllabs.com/ssltest/
- Enter your domain
- Click "Submit"
- Wait for analysis (2-3 minutes)
- Review grade (A+ is perfect)
What to Check:
- Certificate trusted?
- Certificate valid?
- Strong encryption?
- HTTPS enforced?
- No mixed content?
- HSTS enabled?
Improving SSL Score:
- Enable HSTS
- Disable weak ciphers
- Update server configuration (DreamHost handles)
- Fix mixed content
Frequently Asked Questions
Is SSL really free on DreamHost?
Yes, Let's Encrypt SSL certificates completely free on all DreamHost hosting plans. No hidden costs, unlimited domains.
How long does SSL installation take?
Typically 10-30 minutes, occasionally up to 2 hours. Auto-renewal happens automatically every 90 days.
Do I need SSL for my website?
Yes. SSL is essential for security, SEO, and trust. Google favors HTTPS sites. Browsers mark HTTP sites as "Not Secure."
What's the difference between Let's Encrypt and paid SSL?
Let's Encrypt provides same encryption as paid certificates. Paid certificates offer organization validation and company name display. For most sites, Let's Encrypt is perfect.
Will SSL slow down my website?
Modern servers handle SSL efficiently. Any slowdown is negligible and outweighed by SEO benefits. DreamPress includes SSL optimization.
Can I move to HTTPS later?
Yes, but better to start with HTTPS immediately. Moving later requires updating links, fixing mixed content, and potential SEO impacts.
Does SSL work on subdomains?
Yes, add SSL to each subdomain separately (free), or purchase wildcard certificate for all subdomains.
What if my SSL certificate expires?
DreamHost auto-renews Let's Encrypt certificates 30 days before expiration. Rare failures trigger email alerts.
Can I use my own SSL certificate?
Yes, DreamHost supports custom SSL certificates. Upload via Panel > Domains > SSL/TLS Certificates > Custom Certificate.
Does email use SSL too?
Yes, DreamHost email servers use SSL/TLS encryption automatically. Webmail and email clients connect via encrypted connections.
Getting Started with SSL
Enable HTTPS today:
Get DreamHost Hosting
- DreamHost plans include free SSL
- From $2.59/month with unlimited SSL certificates
Add SSL Certificate
- Follow guide above
- 5-minute setup
- Free Let's Encrypt
Force HTTPS
- Enable redirect
- Update internal links
- Test thoroughly
Find Your Domain
- Use Namr for domain ideas
- Register with DreamHost
- Free SSL included
Secure your website today—HTTPS is essential for trust, security, and SEO success.