Nothing brings your work to a screeching halt quite like an error message – especially if it involves security. A notice reading, “This site can’t provide a secure connection” can be confusing and alarming. If you’re receiving it on your MAMP installation, it can also be disruptive, since these sites are often local testing installations.

This issue usually involves a problem with your web browser or your site’s SSL certificate. Fortunately, fixing it is relatively easy. It might be as simple as clearing your browser’s cache.

In this article, we’ll take a look at the most common causes of this error message. Then we’ll walk you through how to troubleshoot and fix it, so you can get back to more important things. Let’s jump right in!

So what is a “secure connection” exactly? Essentially, it’s a connection to a website that uses HTTPS rather than HTTP. Most browsers display these sites with a padlock icon in the address bar to indicate that the connection is secure.

Kinsta.com uses an encrypted HTTPS connection.
Kinsta.com uses an encrypted HTTPS connection.

HTTPS offers major security advantages over HTTP, but it also comes with strict requirements to ensure compliance. One of them is the presence of a valid SSL certificate.

“This Site Can’t Provide a Secure Connection” Error Variations

One thing to note about this error is that its presentation can vary significantly from one browser to another. However, in every case, the message will mention secure connections in some form.

Here’s what the message looks like in Google Chrome:

Secure connection error in Google Chrome.
Secure connection error in Google Chrome.

In Mozilla Firefox, here’s how it will appear:

Secure connection error in Mozilla Firefox.
Secure connection error in Mozilla Firefox.

And this is what it looks like in Microsoft Edge:

Secure connection error in Microsoft Edge.
Secure connection error in Microsoft Edge.

As you can see, most browsers don’t provide much information about the error message. Firefox at least provides a little direction to get you started, but it’s still fairly vague. Don’t worry – we’ll clear up any confusion in the rest of this article.

What Are the Causes of “This Site Can’t Provide a Secure Connection”?

Now, just because you see a warning about site security doesn’t necessarily mean the site isn’t secure. While that’s a possibility, it’s more often something more benign. Common causes fall into two categories: problems with your web browser, and problems with the site or system configuration.

If you see the error in one browser, but the page works fine in others, that indicates an issue with your browser (usually the cache). If the error appears in all browsers, you know the issue is with either the computer you’re using or the site itself.

Let’s explore the most common causes of this error message:

Your Local Environment Doesn’t Have an SSL Certificate

If you’re using a local environment such as MAMP, you likely don’t have a certificate for your site. This should be the first step in your troubleshooting, as it’s probably the cause of your issue. If you’re looking for a powerful local development tool that includes automatic SSL certificates for all sites, check out DevKinsta.

Outdated SSL Caches in the Browser

This is one of the more popular causes. Web browsers store SSL certificates in a cache, much like other data. This means they don’t have to verify the certificate every time you visit a site, which speeds up browsing. However, if your SSL certificate changes and the browser is still loading an older, cached version, it can cause this error to pop up.

Incorrect Time and Date Settings on Your Computer

If your computer is set to the wrong time and date, it can cause problems with authenticating an SSL certificate. Fortunately, this is a fairly easy fix.

Rogue Browser Extensions

A misconfigured or misbehaving browser extension can also cause issues with certificate authentication. While this could be malicious, it’s more often a simple coding error.

Overzealous Antivirus Software

Similarly, antivirus software that scans your connections in real time can sometimes throw up this message. It could be due to a coding mistake or simply overly-aggressive settings.

Invalid or Expired SSL Certificate

If your site’s SSL certificate is expired or otherwise invalid, you’ll see this error. Certificates need to be renewed periodically.

In the next section, we’ll walk through how to solve the MAMP secure connection error.

How to Fix “This Site Can’t Provide a Secure Connection” Error When Using MAMP?

As we mentioned earlier, with a MAMP installation, the most likely culprit of this issue is that your localhost environment is lacking an SSL certificate. Fortunately, it’s relatively easy to create one using OpenSSL, and doing so should resolve your error message. The following instructions are designed for macOS users, but they should also work on Linux.

1. Create a Root SSL Certificate

First, you’ll need to create a root SSL certificate. This enables you to sign additional certificates for your domains.

To get started, open up the Terminal application on your computer and enter the following command:

openssl genrsa -des3 -out rootCA.key 2048

This command generates an RSA-2048 key with the file name rootCA.key. You’ll use this key to create the root certificate. You’ll be asked to enter a password – make note of it, because you’ll need it to use the key when generating certificates.

Next, you can enter the following command to create the root SSL certificate:

openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem

The certificate will save to the rootCA.pem file. The “1024” represents the number of days the certificate will remain valid – you can change this to whatever you want.

2. Trust the Root Certificate

With your root certificate in place, the next step is to tell the Operating System (OS) to trust it. This ensures that any future certificates created with it are trusted by default, saving you time.

To do so, open the Keychain Access app on your macOS and click on System and Certificates in the sidebar. Next, select File > Import Items, followed by the rootCA.pem certificate created in the last step.

Once it’s imported, double-click it and change the When using this certificate option to Always Trust. Now you’re ready to create an SSL certificate for your domain.

3. Create OpenSSL Configuration Files

Next, you’ll need to create a configuration file that houses the OpenSSL settings you want to use when creating certificates. To get started, create a file called server.csr.cnf. It should contain the following:

[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
[dn]
C=US
ST=RandomState
L=RandomCity
O=RandomOrganization
OU=RandomOrganizationUnit
[email protected]
CN = localhost
Save this file, then create another one named v3.ext, and add the following:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost

Next, you’ll generate a key to sign your domain SSL certificate.

4. Generate a Certificate Key for localhost

Head back to the Terminal application and enter the following command to create a key for localhost:

openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config <( cat server.csr.cnf )

The key is stored in the server.key file.

5. Create an SSL Certificate for Your Local Domain

We’re almost done! Now it’s time to generate the SSL certificate for localhost. You can do so by entering the following command in the Terminal application:

openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext

This command creates a certificate file called server.crt.

6. Activate the SSL Certificate for localhost

Finally, copy the server.key and server.crt files created in the previous two steps to your MAMP installation folder. You can now enable HTTPS on your local installation of WordPress without receiving the “This site can’t provide a secure connection” error.

Summary

The “This site can’t provide a secure connection” message in MAMP not only prevents access to your site, but it can also be concerning due to the potential security implications. Fortunately, it’s usually benign and relatively easy to fix.

This error typically indicates a problem with either your browser’s configuration or the SSL certificate on your site (on localhost, this usually means you don’t have one at all). Fixing it simply involves generating an SSL certificate for localhost using OpenSSL. By following the tips listed above, you should be able to resolve this error quickly so you can get back to work.