Cloud House Technologies Logo
CloudHouse Technologies
HomeServicesProjectsBlogAbout UsCareersContact UsLogin
    Cloud House Technologies Logo
    CloudHouse Technologies
    HomeServicesProjectsBlogAbout UsCareersContact UsLogin

    Plesk SSL Installed But Still Showing 'Not Secure'? Here's How to Fix It

    Priya

    Content Writer & Researcher

    Last Updated: 29 June 2026
    🖥️

    Is Your Plesk SSL Setup Still Broken?

    Our Plesk-certified engineers fix SSL misconfigurations, mixed-content errors, and HTTPS redirect issues remotely — typically within one hour. Get in touch for a free initial assessment.

    🔧 Book Free DiagnosisCall NowWhatsApp
    🖥️12,400+PCs Fixed
    ⭐4.9★Google Rating
    ⚡<15 minAvg. Response
    🛡️ISO 27001Certified

    You've installed an SSL certificate through Plesk, the control panel confirms it's active — yet your browser still flashes that dreaded "Not Secure" warning. If you're troubleshooting Plesk SSL not secure after install, you're not alone. This is one of the most common post-installation headaches for sysadmins and hosting managers, and the fix usually lives in one of a handful of well-known places. This guide walks you through the complete diagnostic chain so you can resolve it systematically.

    Why Plesk Shows SSL as Installed But the Browser Still Says 'Not Secure'

    The SSL certificate being "installed" in Plesk and the browser trusting an HTTPS connection are two different things. Plesk can report a valid certificate while the browser flags the site for any of these reasons:

    • Mixed content: the page loads over HTTPS but embedded resources (images, scripts, stylesheets, iframes) are still referenced with http:// URLs.
    • HTTP-to-HTTPS redirect not enabled: the certificate is on the server, but visitors navigating to http://yourdomain.com are never redirected to the secure version.
    • SSL/TLS support disabled for the domain: the certificate is installed but the Hosting Settings option to serve HTTPS is toggled off.
    • Certificate does not cover the www variant: the cert was issued for example.com only, so www.example.com remains untrusted.
    • Web server vhost config out of sync: Nginx or Apache is still serving the old HTTP-only config and needs to be rebuilt.

    Work through the steps below in order — most sites are fixed by Step 1 or Step 2.

    💡 None of these worked? Skip the guesswork.

    Get Expert Help →

    Step 1: Diagnose Mixed Content — The Most Common Culprit

    1Open your browser's developer tools

    Visit your site over HTTPS, press F12 (Chrome/Edge/Firefox), and open the Console tab. Look for warnings such as:

    Mixed Content: The page at 'https://example.com' was loaded over HTTPS,
    but requested an insecure resource 'http://example.com/wp-content/uploads/image.jpg'.

    The Console will list every offending URL. Note which resource types are affected — images, scripts, and stylesheets are the usual suspects.

    2Use an online scanner for a quick overview

    Tools like WhyNoPadlock or JitBit SSL Check crawl your page and list every mixed-content URL in seconds — useful for a quick audit before diving into code.

    3Check the padlock icon meaning

    A grey padlock with a warning triangle means mixed content (partial HTTPS). A red "Not Secure" label with no padlock at all usually means the page is loading entirely over HTTP — indicating the redirect is missing (see Step 2).

    1Enable SSL/TLS support and HTTPS redirect in Hosting Settings

    Log in to the Plesk panel. Go to Domains > yourdomain.com > Hosting Settings. Confirm that:

    • SSL/TLS support is checked.
    • The correct certificate is selected from the Certificate dropdown.
    • Permanent SEO-safe 301 redirect from HTTP to HTTPS is enabled.

    Click OK to save. Plesk will regenerate the web server configuration automatically.

    2Test the redirect from the command line
    curl -I http://yourdomain.com

    You should see HTTP/1.1 301 Moved Permanently with a Location: https://yourdomain.com/ header. If you see 200 OK, the redirect is not firing.

    3Check for conflicting .htaccess redirects

    A custom .htaccess redirect loop can prevent Plesk's redirect from working. Open the public web root:

    cat /var/www/vhosts/yourdomain.com/httpdocs/.htaccess

    Look for any RewriteRule lines that redirect to http:// — these must be removed or updated to point to https://.

    1Verify the SSL vhost is listening on port 443
    grep -n "listen 443" /var/www/vhosts/system/yourdomain.com/conf/nginx_ssl.conf

    If this returns nothing, the SSL vhost has not been written — this usually means the cert was never properly bound to the domain. Re-check Hosting Settings in Plesk and save again to trigger a rebuild.

    2Confirm the certificate paths are correct
    grep -E "ssl_certificate|SSLCertificateFile"   /var/www/vhosts/system/yourdomain.com/conf/nginx_ssl.conf   /var/www/vhosts/system/yourdomain.com/conf/httpd_ssl.conf

    The paths should point to existing files. Verify they exist:

    ls -la /etc/nginx/plesk.conf.d/
    ls -la /opt/psa/var/certificates/
    3Test web server configuration syntax
    # Nginx
    nginx -t
    
    # Apache
    apachectl configtest

    Fix any syntax errors reported before proceeding.

    1Update Site URL and Home URL

    In the WordPress admin go to Settings > General and change both WordPress Address (URL) and Site Address (URL) from http:// to https://. Alternatively, run via WP-CLI:

    wp option update siteurl 'https://yourdomain.com'
    wp option update home 'https://yourdomain.com'
    2Search and replace hardcoded HTTP references in the database
    wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables

    Always take a database backup before running search-replace.

    3Use the Really Simple SSL plugin

    The Really Simple SSL plugin automates the URL migration and adds the appropriate HTTP headers. It is especially useful when editors have embedded http:// media URLs across hundreds of posts.

    Static Sites and Non-WordPress Apps

    For static HTML sites, perform a grep to find every hardcoded http:// reference:

    grep -rn "http://yourdomain.com" /var/www/vhosts/yourdomain.com/httpdocs/

    Replace occurrences using sed:

    find /var/www/vhosts/yourdomain.com/httpdocs/ -type f -name "*.html"   -exec sed -i 's|http://yourdomain.com|https://yourdomain.com|g' {} \;

    For apps loading external CDN resources over HTTP, update the URLs in your asset manifests or configuration files directly.

    Adding a Content-Security-Policy Upgrade Header (Quick Stopgap)

    While you work through a full URL audit, you can instruct browsers to upgrade all insecure requests automatically. Add the following to the custom Nginx vhost file at /var/www/vhosts/system/yourdomain.com/conf/vhost_nginx.conf:

    add_header Content-Security-Policy "upgrade-insecure-requests;";

    For Apache, add to vhost_ssl.conf:

    Header always set Content-Security-Policy "upgrade-insecure-requests;"

    Then rebuild the web server config (see Step 5).

    1Rebuild the web server configuration from Plesk CLI

    After making any changes to certificate bindings or custom vhost files, force Plesk to regenerate the Apache/Nginx config:

    /usr/local/psa/admin/sbin/httpdmng --reconfigure-domain yourdomain.com
    2Restart the web servers
    # Restart Nginx
    systemctl restart nginx
    
    # Restart Apache (service name varies by distro)
    systemctl restart httpd     # CentOS/RHEL
    systemctl restart apache2   # Debian/Ubuntu
    3Clear Plesk's internal cache
    plesk repair web yourdomain.com -y

    This command re-checks the domain's hosting configuration, repairs mismatches, and reconfigures the web server.

    4Flush any server-side caches

    If your server uses Redis or Varnish, flush them to ensure stale HTTP responses are not being served:

    redis-cli FLUSHALL
    5Retest with SSL Labs

    Run a full SSL audit at SSL Labs Server Test. A healthy configuration will score A or A+ and show no mixed-content issues. Also recheck the browser console — the warning should be gone.

    If you've worked through all five steps and the site is still showing "Not Secure," the issue may be deeper — a misconfigured reverse proxy, a CDN stripping SSL headers, or a wildcard certificate not matching the subdomain. Our team provides managed server support and can diagnose and resolve persistent SSL issues remotely, usually within the hour.

    FAQs

    Why does Plesk say the SSL certificate is valid but Chrome still shows Not Secure?

    Plesk validates that a certificate file is installed and bound to the domain — it does not scan your page content. Chrome shows "Not Secure" when any resource on the page (image, script, font, iframe) is still loaded over http://, even if the page itself is served over HTTPS. Open the browser console to identify the offending URLs.

    How do I know if my site has a mixed content problem?

    Press F12 in Chrome or Firefox, switch to the Console tab, and load your page. Mixed-content warnings appear in yellow or red. You can also use the free WhyNoPadlock tool for a full page audit without opening dev tools.

    Will enabling the 301 redirect in Plesk break my site?

    No — if your SSL certificate is correctly installed and covering all domain variants (www and non-www), enabling the 301 redirect is safe and is actually required for Google to credit your site with HTTPS. The only risk is if you have existing .htaccess redirect rules that conflict; audit those first.

    My SSL certificate was issued for example.com but not www.example.com — is that the problem?

    Yes. If your certificate covers only the apex domain (example.com), visitors going to www.example.com will receive a certificate mismatch error. Reissue the certificate via Plesk's Let's Encrypt extension and make sure both example.com and www.example.com are included as Subject Alternative Names (SANs).

    How do I rebuild the Plesk web server configuration after making changes?

    Run /usr/local/psa/admin/sbin/httpdmng --reconfigure-domain yourdomain.com via SSH, then restart Nginx and Apache with systemctl restart nginx and systemctl restart apache2 (or httpd on RHEL-based systems). You can also use plesk repair web yourdomain.com -y for a combined repair-and-reconfigure action.

    Get the Free Linux Server Admin Cheatsheet (PDF)

    Essential commands for server management, networking, and troubleshooting — all on one printable page.

    Running Linux servers? Let us manage them for you.

    Our Managed Linux Server plans cover updates, security hardening, monitoring, and 24/7 incident response — so your servers stay up and your team stays focused.

    • Proactive OS patching and security updates
    • 24×7 monitoring with instant alerting
    • Backup configuration and disaster recovery
    • Dedicated Linux engineers on call
    See Pricing Plans →

    What our customers say

    “Our production server went down at 2 AM. CloudHouse had it back online in under 20 minutes. Incredible response time.”

    Arun S.

    CTO, SaaS Startup

    “They migrated our entire infrastructure from Ubuntu 18 to 22 with zero downtime. Couldn't have asked for better.”

    Deepak N.

    DevOps Lead

    Frequently Asked Questions

    Plesk validates that a certificate file is installed and bound to the domain — it does not scan your page content. Chrome shows 'Not Secure' when any resource on the page (image, script, font, iframe) is still loaded over http://, even if the page itself is served over HTTPS. Open the browser console to identify the offending URLs.

    Book your free 15-minute diagnosis

    A certified technician will call you back within 15 minutes during business hours.

    Share this article

    Leave a Comment

    Comments (0)

    Loading comments...

    Quick SSL Checklist for Plesk

    1. Check browser console for mixed-content warnings. 2. Enable SSL/TLS support + 301 redirect in Hosting Settings. 3. Verify certificate covers both www and non-www. 4. Run httpdmng --reconfigure-domain after any change. 5. Test with SSL Labs and clear all caches.

    Call Now — FreeWhatsApp Us

    Why CloudHouse?

    • ISO 27001:2022 certified
    • 12,400+ devices supported
    • 4.9★ on Google
    • Sub-15-minute response

    CloudHouse Technologies

    Innovative cloud solutions for modern businesses. We deliver cutting-edge technology with exceptional service.

    Contact Us

    CloudHouse Technologies Pvt.Ltd
    Special Economic Zone(SEZ),
    Infopark Thirissur,4B-15,
    Indeevaram,Nalukettu Road,
    Koratty, Kerala, India-680308
    0480-27327360
    info@cloudhousetechnologies.com

    Quick Links

    • Our Services
    • Gold Loan Software
    • About Us
    • Contact
    • Terms and Conditions
    • Privacy Policy
    ISO27001:2022
    Certified

    © 2026 CloudHouse Technologies Pvt.Ltd. All rights reserved.

    Back to top