Troubleshooting
Domain & SSL

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:

  1. SSL certificates take 1-5 minutes to issue
  2. Check domain status: Environment → Domains
  3. Verify DNS is properly configured
  4. 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:

  1. Verify DNS records are correct
  2. Use DNS lookup tools to confirm propagation
  3. 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.org

Certificate Renewal Failed

Symptom: SSL worked before but now shows expired certificate.

Solution:

  1. Check domain configuration hasn't changed
  2. Verify DNS still points to correct server
  3. Force certificate renewal: Environment → Domains → Refresh SSL

Mixed Content Warnings

Symptom: Page loads but browser shows "partially secure" warning.

Solution:

  1. Check Odoo's web.base.url setting
  2. Go to Settings → System Parameters in Odoo
  3. Set web.base.url to https://yourdomain.com
  4. 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:

  1. DNS propagation can take 1-48 hours
  2. Use multiple DNS checkers to verify global propagation
  3. Try flushing local DNS cache:
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
 
# Windows
ipconfig /flushdns
 
# Linux
sudo systemd-resolve --flush-caches

Incorrect 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 address

Wait for Propagation

Allow time for DNS changes to propagate globally.

Conflicting DNS Records

Symptom: Inconsistent behavior, sometimes works, sometimes doesn't.

Solution:

  1. Check for duplicate A records
  2. Remove conflicting CNAME records
  3. 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:

  1. Access Odoo backend
  2. Go to Settings → System Parameters
  3. Update web.base.url to https://yourdomain.com
  4. Update web.base.url.freeze to True

Custom Module Using HTTP

Symptom: Specific features show mixed content warnings.

Solution:

  1. Search custom module code for http:// URLs
  2. Replace with https:// or use protocol-relative URLs (//)
  3. Check for hardcoded asset URLs

External Resources

Symptom: Third-party widgets or integrations cause warnings.

Solution:

  1. Identify which external resources are loaded via HTTP
  2. Use browser developer tools: Network tab → filter by HTTP
  3. 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: 300

For root/apex domains (example.com) — use A record:

Type: A
Name: @
Value: [Your Server IP from Environment settings]
TTL: 300

CNAME 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.url and email links)
  • Additional domains (also route to the same environment)

Domain with Cloudflare

If using Cloudflare:

Recommended for most cases:

  1. Set Cloudflare proxy to "DNS only" (grey cloud)
  2. SSL/TLS mode: Full (strict)
  3. 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

  1. Go to Settings → DNS Providers
  2. Click Add Provider
  3. Select your provider and enter credentials
  4. 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.url uses 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.sh

This 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.sh

Root 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:

  1. Collect Information:

    • Domain name
    • Current DNS configuration
    • Error messages
    • Browser and version
  2. Contact Support: Email support@oec.sh

Include screenshots of your DNS configuration and any browser error messages when contacting support.