Hypertext Transfer Protocol (HTTP) is a set of rules browsers use to determine how to read and transfer data over the web. When a URL includes “http,” the browser knows to follow this protocol to successfully load a web page.
HTTPS is the same as HTTP except HTTPS tells a browser to encrypt the data exchanged with a web page. Encryption disguises data and lessens the chance that your information is viewed or manipulated. This is important when a website includes sensitive data like your personal details or financial information.
Set up HTTPS
To use HTTPS with your domain name, you need a SSL or TLS certificate installed on your website. Your web host (Web Hosting Provider) may offer HTTPS security or you can request a SSL/TLS certificate from Certificate Authorities and install it yourself. SSL/TLS certificates may need to be renewed periodically.
There are different types of web servers, and each has its own process for installing and updating SSL/TLS certificates. You will need to find out which web server your website is using and follow its instructions for installing and updating your certificate.
HTTPS from web hosts
The following Google services automatically issue, install, and renew SSL/TLS certificates at no additional cost:
Many 3rd party web hosts also issue, install, and renew SSL/TLS certificates. You can use any web host in combination with Google Domains, including Bluehost, Shopify, Squarespace, Weebly, and Wix.
Get an SSL/TLS certificate from a Certificate Authority
If your web host doesn’t offer HTTPS security, you can obtain an SSL/TLS certificate for your domain from a Certificate Authority (CA). Google has its own CA, Google Trust Services. For Google Domains customers, you can obtain a certificate from Google Trust Services by following the instructions on the "Security page" of your domain.
Another popular CA that provides certificates in the interest of creating a safer Internet is Let’s Encrypt.
After you obtain a certificate, you must work with your web host to install the certificate. If you host your site on your own servers, learn how to enable HTTPS. If you use the Automatic Certificate Management Environment (ACME) protocol to manage your certificates, you can follow the steps below to manage certificates with ACME and DNS.
To obtain a certificate from Google Trust Services:
- Sign in to Google Domains.
- Select the domain that you want a certificate for.
- At the top left, tap Menu
Security.
- Under section “SSL/TLS Certificates for your domain,” expand “Google Trust Services.”
- Click Get EAB Key.
- A dialog opens with 2 values, “EAB Key ID” and “EAB HMAC Key."
- Copy both of these values by tapping the Copy buttons next to each of them.
- Use these 2 values to register an account with the Google Trust Services CA. Each ACME client implementation differs slightly on how you specify this EAB. Refer to the documentation for the ACME client that you’d like to use.
- Here's an example of configuration with the popular Certbot ACME client.
- To register an account:
certbot register --email <CONTACT_EMAIL> --no-eff-email --server "https://dv.acme-v02.api.pki.goog/directory" --eab-kid "<EAB_KEY_ID>" --eab-hmac-key "<EAB_HMAC_KEY>"
- After the account is created, you can issue certificates by running:
certbot certonly -d <YOUR_DOMAIN> --server "https://dv.acme-v02.api.pki.goog/directory" --standalone
- To register an account:
- Here's an example of configuration with the popular Certbot ACME client.
- A dialog opens with 2 values, “EAB Key ID” and “EAB HMAC Key."
Manage certificates with ACME & DNS
Automatic Certificate Management Environment (ACME) is a common protocol used to automate the management certificates between a Certificate Authority (CA) and server. With automation, many users can reduce the chances of outages due to failure to renew their HTTPS certificates.
To prove that you have control of a domain name, the ACME protocol uses challenges. Google Domains supports the DNS-01 challenge type with its DNS servers through the use of API Tokens.
To create an API Token:
- Sign in to Google Domains.
- Select the domain that you want to use.
- At the top left, tap Menu
Security.
- Under the section “ACME DNS API,” tap Create token.
IMPORTANT: This value is only shown once. After the dialog is closed, you won’t be able to find this API Token again. Keep this token in a safe place since anyone that has it gains the ability to modify some DNS records for your Domain.
- A dialog opens with an “API Token.”
- You need this API Token to enter into your ACME client.
- To copy this value, tap the Copy button next to the API Token.
- If you didn’t save this value before closing the dialog, you can easily delete and create a new API Token.
- A limit of 10 API Tokens per domain can exist at a time.
- When the dialog closes, a record will appear in the list. To revoke its access, you can delete this token at any time.
- The API Token can be used in an ACME client that supports the Google Domains ACME DNS API. Each ACME implementation differs slightly on how you specify this API Token. Refer to the documentation for the ACME client that you’d like to use.
- A dialog opens with an “API Token.”
- Certbot through the community plugin
- Caddy web server
- Certify The Web
- Posh-ACME
Safeguard your SSL/TLS certificates
HTTPS helps prevent Man in the Middle (MitM) attacks, but if someone can impersonate your SSL/TLS certificate, those attacks are still possible. To prevent this, you should review certificates issued for your website that you don’t recognize. You can also restrict who can issue certificates for your domain with Certification Authority Authorization (CAA) resource records.
View certificates issued for your domain
To review certificates issued for your domain, you can search on censys.io.