A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://cloud.google.com/appengine/docs/legacy/standard/python/securing-custom-domains-with-ssl below:

Securing Custom Domains with SSL | App Engine standard environment for Python 2

Securing Custom Domains with SSL

Stay organized with collections Save and categorize content based on your preferences.

App Engine SSL support offers globally distributed SSL endpoints and built-in load balancing to serve your app securely, reliably, and quickly to a worldwide audience.

By default, HTTPS connections on your custom domain are enabled automatically using managed SSL certificates. After mapping a custom domain to your application and updating your DNS records, App Engine provisions a managed SSL certificate, renews the certificate, and revokes it when you remove the custom domain from your application.

Before you begin Note: These instructions describe using the Google Cloud console to secure custom domains. If you prefer, you can use gcloud commands or the Admin API. Verify a managed certificate

After you set up your custom domain and update the DNS records, a managed SSL certificate is automatically provided within a few minutes. Selection of the certificate authority is automatic; the managed certificate is signed either by Google Trust Services (GTS) or Let's Encrypt.

To verify that the certificate was provisioned:

  1. In the Google Cloud console, go to App Engine > Settings > Custom Domains:

    Go to Custom Domains

  2. The SSL security displays as Google-managed.

Troubleshoot managed SSL certificates Upgrade to managed SSL certificates

Before you upgrade to Google-managed SSL certificates, note that managed certificates do not support wildcard mappings.

If you are using subdomains and the certificate is issued by Let's Encrypt, there is a limit of 50 managed certificates per week for each base domain. If you encounter the limit, App Engine keeps trying to issue managed certificates until all requests have been fulfilled.

To move from your own SSL certificates to Google-managed SSL certificates, or to add managed SSL certificates to an existing app with a custom domain, update your domain mapping:

  1. In the Google Cloud console, go to App Engine > Settings > Custom Domains:

    Go to Custom Domains

  2. Select the domain you want to secure, and click Enable managed security.

Disable managed SSL certificates

To disable managed SSL certificates:

  1. In the Google Cloud console, go to App Engine > Settings > Custom Domains:

    Go to Custom Domains

  2. Select the domain and click Disable managed security.

Use your own SSL certificates

Instead of using managed SSL certificates, you can use your own certificate. If your certificate does not have a transparency proof, your app may show SSL warnings in Chrome due to certificate transparency proof enforcement. For more information on certificate transparency proofs and how to comply, read Enforcing Certificate Transparency.

To use and manage your own SSL certificates instead of Google-managed certificates:

  1. Make sure you have already set up your custom domain in your App Engine project.

  2. Disable the default Google-managed certificates.

  3. Get a certificate for your domain from the certificate authority (CA) of your choice. The exact procedure can vary depending on the authority but see Obtaining a certificate for the typical steps.

  4. Convert your private key and SSL certificate files into formats that are supported by App Engine. Before you can upload your files, your private key must be converted to an RSA private key and your SSL certificates must be concatenated into a single file. For more information, see Convert your private keys and concatenate your SSL certificates.

  5. Ensure you have the right permissions in the Google Cloud console and verified ownership (step 3) of all related domains or their parent domains. For example:

  6. Upload your private key and SSL certificate, and then map your domain to your app:

    1. In the Google Cloud console, go to App Engine > Settings > SSL certificates:

      Go to SSL Certificates

    2. Click Upload a new certificate.

    3. Upload your concatenated SSL certificate under PEM encoded X.509 public key certificate, for example concat.crt, and then upload your RSA private key under Unencrypted PEM encoded RSA private key, for example myserver.key.pem.
    4. Click Upload. Each SSL certificate that you upload is visible and available for use by all of your other Google Cloud projects so you don't have to upload the same certificate repeatedly. Note: If you upload an SSL certificate but never assign it to a domain, that certificate is automatically deleted after 30 days.
    5. Select the certificate that you want to assign to a domain and then click Save to use SSL for that domain.
  7. Test your changes by visiting your domain in your browser, using https, for example, https://www.example.com.

    Note: Once the private key is uploaded, it is stored securely at Google and cannot be viewed.
Transfer mappings from a serving certificate to a new certificate Important: The instructions that follow apply to certificates serving in SNI serving mode only.

When a certificate nears its expiration date, you'll need to upload a new certificate and transfer the old certificate's existing mappings to that new certificate. The following procedure assumes that the existing certificate has not yet expired and is currently serving your custom domain.

To transfer mappings from an actively serving certificate:

  1. Get a new certificate for your domain from the certificate authority (CA) of your choice. See Obtaining a certificate for the typical steps.

  2. Convert your private key and SSL certificate files into formats that are supported by App Engine. For details, see Convert your private keys and concatenate your SSL certificates.

  3. Upload your RSA private key and concatenated SSL certificate:

    1. Upload the SSL certificate in the SSL certificates page.

      Go to SSL Certificates
      1. Click Upload a new certificate.

      2. Upload your concatenated SSL certificate under PEM encoded X.509 public key certificate, for example concat.crt, and then upload your RSA private key under Unencrypted PEM encoded RSA private key, for example myserver.key.pem.
      3. Click Upload.
    2. Select the new certificate you just added from the certificate list, then select the domain being served by the old certificate.
    3. Click Save to transfer the mappings from the old certificate to the new one.
Obtain a certificate

The process for getting an SSL certificate will vary depending on the certificate authority that you use. The instructions provided here might need to be adjusted slightly. Typically, each certificate authority provides instructions to assist you through the process.

To obtain a certificate for use with your App Engine app:

  1. Generate your private key and a certificate signing request (CSR) by using the openssl tool:

    1. Run the following command from a directory where you want to create the server.csr file:

      openssl req -nodes -newkey rsa:2048 -keyout [MY_PRIVATE_KEY].key -out [MY_CSR].csr
      

      where:

      • [MY_PRIVATE_KEY].key is the generated file where your private key is stored. Example: myserver.key
      • [MY_CSR].csr is the generated file for your certificate signing request. Example: server.csr
    2. When prompted, enter the following information:

      • Your 2-digit country code, for example, US for United States.
      • Your city name.
      • Your company name. You can use your own name if you don't have a company.
      • Your organizational unit or NA if you don't have this.
      • A common name that represents your domain, for example: www.example.com
      • Your email address.

      You don't need to provide any of the other values, they are all optional.

  2. Determine which certificate authority works for you and then purchase a certificate. For example, you can use: SSLMate, Thawte, Comodo, or any other certificate authority.

    For details about the types of supported certificates, see App Engine support for SSL certificates.

  3. When your CA requests the contents of your CSR file, follow their instructions for copying and pasting contents from your .csr file that you generated earlier, for example server.csr.

  4. Follow the prompts when your CA requests domain owner approval.

    Tip: You might find it easiest to use the email approval method. You will need to configure an email address in your domain account, for example admin@example.com, so that you can receive and respond to the CA's approval request. Note: After you submit the request for your certificate, it can take a few days before you receive the actual certificate from your CA.
  5. After you provide domain owner approval, the CA sends the certificate to you, which is typically a zip file. Unzip that file to a working directory so that you can concatenate those certificates for upload to App Engine.

Convert private keys and concatenate SSL certificates

You must convert your private key into an RSA private key and concatenate all of your SSL certificates, before uploading your private key and SSL certificates to App Engine.

  1. Convert the private key file that you generated earlier, into an unencrypted RSA private key. For example, you can run the following openssl rsa command:

    openssl rsa -in [MY_PRIVATE_KEY].key -out [MY_RSA_KEY].key.pem
    

    where:

  2. Concatenate all of the .crt files from your CA into one file, using the following command:

    cat [MY_DOMAIN_CERT].crt [MY_SecureServerCA].crt [MY_TrustCA].crt [MY_TrustExternalCARoot].crt > [MY_CONCAT_CERT].crt
    

    where

  3. Verify your SSL certificate and private key:

    1. To verify that the private key and certificate match, you can use the openssl x509 and openssl rsa commands. Examples:

      openssl x509 -noout -modulus -in concat.crt | openssl md5
      openssl rsa -noout -modulus -in myserver.key.pem | openssl md5
      

      Both the openssl x509 and openssl rsa commands should return the same output.

    2. To verify that a certificate and its CA chain are valid, you can use the openssl verify command. For example:

      openssl verify -verbose -CAfile concat.crt concat.crt
      
  4. When you are ready, you can upload your RSA private key and concatenated certificates to App Engine.

App Engine support for SSL certificates

App Engine supports the following certificate types:

It requires some things of your certificates and keys:

If the host certificate requires an intermediate or chained certificate, as many Certificate Authorities (CAs) issue, you must append the intermediate or chained certificates to the end of the public certificate file.

Some App Engine features use special subdomains. For example, an application can use subdomains to address application services, or to address different versions of your application. To use these with SSL, it makes sense to set up a SAN or wildcard certificate. Wildcard certificates only support one level of subdomain.

Remove custom SSL certificates

To stop using a custom SSL certificate, perform the following steps:

  1. In the Google Cloud console, go to the App Engine SSL certificates settings page.

    Go to SSL certificate settings

  2. Click on the certificate that you want to remove from your domain.

  3. Unselect the domain name that you no longer want to use the SSL certificate for, then click Save.

For security reasons, all applications should encourage clients to use https connections. To instruct the browser to prefer https over http, use the Strict-Transport-Security header.

View enabled TLS versions and ciphers
  1. Install nmap Network Mapper on your computer if it isn't already available. See https://nmap.org/ for installation instructions.

  2. To see which TLS versions and ciphers are enabled for your app, enter the following command:

    nmap -sV --script ssl-enum-ciphers -p 443 HOSTNAME

    Replace HOSTNAME with the hostname for your app. You can use either your custom domain or the appspot.com hostname that App Engine created for your app. For example:

    nmap -sV --script ssl-enum-ciphers -p 443 example.uc.r.appspot.com

Disable TLS versions and ciphers

If you use Cloud Load Balancing and serverless NEGS to route traffic to your App Engine app, you can disable a TLS version or cipher by defining a SSL security policy that specifies which TLS versions and ciphers can be used for HTTPS or SSL connections.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-08-07 UTC.

[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["App Engine automatically enables HTTPS connections on custom domains using managed SSL certificates, which are provisioned, renewed, and revoked by App Engine."],["For applications using Cloud Load Balancing and serverless NEGs, it is recommended to map custom domains to the load balancer and use SSL certificates created for it, to avoid managing separate certificates for each app."],["You can verify that a managed SSL certificate has been provisioned by checking the \"SSL security\" status in the App Engine Custom Domains settings within the Google Cloud console."],["If you prefer not to use managed SSL certificates, you can use your own, but you must convert your private key to an RSA format and concatenate your SSL certificates into a single file before uploading."],["When uploading your own SSL certificate, the certificate and private key must both be in PEM format, with the private key being unencrypted and having a maximum key modulus of 2048 bits."]]],[]]


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4