Domain & SSL Issues
Troubleshoot custom domain configuration, DNS problems, and SSL certificate issues in OEC.sh.
SSL Certificate Errors
Symptom
Browser shows "connection not secure" or SSL certificate warnings.
Common Causes and Solutions
Certificate Not Yet Issued
Symptom: SSL error immediately after adding a custom domain.
Solution:
- SSL certificates take 1-5 minutes to issue
- Check domain status: Environment → Domains
- Verify DNS is properly configured
- Wait and refresh the page
OEC.sh uses Let's Encrypt for automatic SSL certificates. Certificates are issued automatically once DNS is verified.
DNS Not Pointing to Server
Symptom: "DNS validation failed" or certificate won't issue.
Solution:
- Verify DNS records are correct
- Use DNS lookup tools to confirm propagation
- Wait for DNS propagation (can take up to 48 hours)
Verify your DNS configuration:
# Check A record
dig +short yourdomain.com A
# Check CNAME record
dig +short www.yourdomain.com CNAME
# Online tool: dnschecker.orgCertificate Renewal Failed
Symptom: SSL worked before but now shows expired certificate.
Solution:
- Check domain configuration hasn't changed
- Verify DNS still points to correct server
- Force certificate renewal: Environment → Domains → Refresh SSL
Mixed Content Warnings
Symptom: Page loads but browser shows "partially secure" warning.
Solution:
- Check Odoo's web.base.url setting
- Go to Settings → System Parameters in Odoo
- Set
web.base.urltohttps://yourdomain.com - Check for hardcoded HTTP links in customizations
DNS Issues
Symptom
Domain doesn't resolve or points to wrong server.
Common Causes and Solutions
DNS Not Propagated
Symptom: DNS changes not taking effect.
Solution:
- DNS propagation can take 1-48 hours
- Use multiple DNS checkers to verify global propagation
- Try flushing local DNS cache:
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Windows
ipconfig /flushdns
# Linux
sudo systemd-resolve --flush-cachesIncorrect DNS Records
Symptom: Domain resolves to wrong IP or doesn't resolve.
Identify Required Records
Check Environment → Domains for the required DNS configuration.
Update DNS Provider
Log into your DNS provider and update records.
Verify Configuration
# Verify A record
dig yourdomain.com +short
# Should return your server's IP addressWait for Propagation
Allow time for DNS changes to propagate globally.
Conflicting DNS Records
Symptom: Inconsistent behavior, sometimes works, sometimes doesn't.
Solution:
- Check for duplicate A records
- Remove conflicting CNAME records
- Verify there's no CDN or proxy interfering
You cannot have both an A record and a CNAME record for the same hostname. Choose one based on your setup.
Mixed Content Warnings
Symptom
HTTPS page loads but some resources are blocked or show warnings.
Common Causes and Solutions
Odoo Base URL Misconfigured
Symptom: Links in emails or UI use HTTP instead of HTTPS.
Solution:
- Access Odoo backend
- Go to Settings → System Parameters
- Update
web.base.urltohttps://yourdomain.com - Update
web.base.url.freezetoTrue
Custom Module Using HTTP
Symptom: Specific features show mixed content warnings.
Solution:
- Search custom module code for
http://URLs - Replace with
https://or use protocol-relative URLs (//) - Check for hardcoded asset URLs
External Resources
Symptom: Third-party widgets or integrations cause warnings.
Solution:
- Identify which external resources are loaded via HTTP
- Use browser developer tools: Network tab → filter by HTTP
- Update integrations to use HTTPS endpoints
Custom Domain Configuration
Adding a Custom Domain
Navigate to Domains
Go to Environment → Domains
Find Your System URL
Your environment has an auto-generated system URL like my-project-production.apps.oec.sh. You'll find it at the top of the Domains tab.
Configure DNS at Your Provider
Go to your DNS provider (Cloudflare, GoDaddy, Namecheap, etc.) and add a record pointing your domain to the system URL.
For subdomains (erp.example.com) — use CNAME (recommended):
Type: CNAME
Name: erp
Value: my-project-production.apps.oec.sh
TTL: 300For root/apex domains (example.com) — use A record:
Type: A
Name: @
Value: [Your Server IP from Environment settings]
TTL: 300CNAME is preferred because it automatically follows server IP changes. Root domains can't use CNAME (DNS limitation), so they need an A record with the server IP.
Add Domain in OEC.sh
Click Add Domain, enter your domain name, and click Add.
Wait for Verification
OEC.sh verifies your DNS is pointing correctly and issues a free SSL certificate via Let's Encrypt. This usually takes 1-5 minutes.
Verify Setup
Visit your custom domain in a browser. You should see your Odoo instance with a valid SSL certificate.
Multiple Domains
You can add multiple domains to a single environment:
- Primary domain (used for Odoo's
web.base.urland email links) - Additional domains (also route to the same environment)
Domain with Cloudflare
If using Cloudflare:
Recommended for most cases:
- Set Cloudflare proxy to "DNS only" (grey cloud)
- SSL/TLS mode: Full (strict)
- Let OEC.sh handle SSL certificates
DNS Provider Integration
Available on Pro and Agency plans
OEC.sh can manage DNS records automatically for supported providers:
- Cloudflare
- AWS Route53
- Azure DNS
- Google Cloud DNS
- DigitalOcean
- Hetzner DNS
Setup DNS Provider
- Go to Settings → DNS Providers
- Click Add Provider
- Select your provider and enter credentials
- Test the connection
Automatic DNS Management
Once configured, OEC.sh can:
- Automatically create DNS records for new domains
- Update records when server IPs change
- Clean up records when domains are removed
Troubleshooting Checklist
Domain Not Working
- DNS records are correct
- DNS has propagated (check multiple locations)
- No conflicting records exist
- Domain status shows "Active" in OEC.sh
SSL Not Working
- Domain resolves correctly
- Certificate status shows "Issued"
- No firewall blocking port 443
-
web.base.urluses HTTPS
Intermittent Issues
- Check for DNS caching
- Verify no CDN/proxy interference
- Test from multiple networks
- Check server health
Common DNS Configurations
Subdomain Pointing to System URL (Recommended)
# Point subdomain to your environment's system URL
Type: CNAME
Name: erp
Value: my-project-production.apps.oec.shThis is the easiest setup. If your server IP ever changes, the CNAME follows automatically.
Root Domain + WWW
# Root domain (CNAME not allowed, must use A record)
Type: A
Name: @
Value: [Server IP]
# WWW subdomain (CNAME to system URL)
Type: CNAME
Name: www
Value: my-project-production.apps.oec.shRoot Domain with A Record
# When you need to use the apex domain directly
Type: A
Name: @
Value: [Server IP from Environment settings]You can find your server IP in Environment → General or by running dig your-system-url.apps.oec.sh.
Still Having Issues?
If the above solutions don't resolve your problem:
-
Collect Information:
- Domain name
- Current DNS configuration
- Error messages
- Browser and version
-
Contact Support: Email support@oec.sh
Include screenshots of your DNS configuration and any browser error messages when contacting support.