[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-20。"],[],[],null,["# SSL policies for SSL and TLS protocols\n\nIn this document, the term *SSL* refers to both the SSL (Secure Sockets Layer)\nand TLS (Transport Layer Security) protocols. The information in this document\napplies to TLS connections over the TCP transport protocol, which can use any\nsupported version of TLS. For load balancers that use [HTTP/3 connections](/load-balancing/docs/https#QUIC), the underlying transport protocol is QUIC,\nwhich uses TLS 1.3 exclusively.\n\nSSL policies specify the set of SSL features that Google Cloud load balancers\nuse when negotiating SSL with clients. For example, you can use an SSL policy to\ndefine the minimum TLS version and features that every client must support in\norder to send traffic to your load balancer.\n\nThe following load balancers support global SSL policies:\n\n- Global external Application Load Balancer\n- Classic Application Load Balancer\n- Cross-region internal Application Load Balancer\n- Global external proxy Network Load Balancer\n- Classic proxy Network Load Balancer\n\nThe following load balancers support regional SSL policies:\n\n- Regional external Application Load Balancer\n- Regional internal Application Load Balancer\n\nBy default, these load balancers use a set of SSL features that\nprovide good security and wide compatibility. Some applications require more\ncontrol over which SSL versions and ciphers are used for their HTTPS or SSL\nconnections. You can define SSL policies to specify the set of SSL features that\nyour load balancer uses when negotiating SSL with clients.\n\nThe following example shows how connections from clients are established and\nterminated at a load balancer.\n[](/static/load-balancing/images/ssl-policies.svg) Client connections in external Application Load Balancers or external proxy Network Load Balancers (click to enlarge).\n\nYou can use an SSL policy to configure the minimum TLS version and SSL features\nthat are enabled in the load balancer. SSL policies affect connections between\nclients and the load balancer (Connection-1 in the illustration). SSL policies\ndon't affect the connections between the load balancer and the backends\n(Connection-2).\n\nDefining an SSL policy\n----------------------\n\nTo define an SSL policy, you specify a minimum TLS version and a profile. The\nprofile selects a set of SSL features to enable in the load balancer.\n\nThree pre-configured Google-managed profiles let you specify the level of\ncompatibility appropriate for your application. The three pre-configured\nprofiles are as follows:\n\n- **COMPATIBLE.** Allows the broadest set of clients, including clients that support only out-of-date SSL features, to negotiate SSL with the load balancer.\n- **MODERN.** Supports a wide set of SSL features, allowing modern clients to negotiate SSL.\n- **RESTRICTED.** Supports a reduced set of SSL features, intended to meet stricter compliance requirements.\n\nA fourth **CUSTOM** profile lets you select SSL features individually.\n\nThe SSL policy also specifies the minimum version of the TLS protocol that\nclients can use to establish a connection.\n\nNote that a profile can indirectly restrict the versions of TLS that the load\nbalancer can negotiate. For example, ciphers enabled in the RESTRICTED profile\nare only supported by TLS 1.2; choosing the RESTRICTED profile therefore\neffectively disallows clients from using TLS 1.0 and 1.1, even if the SSL\npolicy's minimum TLS version allows them.\n\nIf you don't choose one of the three pre-configured profiles or create a custom SSL policy, your load balancer uses the default SSL policy. The default SSL policy is equivalent to an SSL policy that uses the COMPATIBLE profile with a minimum TLS version of TLS 1.0.\n\nYou can attach an SSL policy to more than one target proxy. You cannot configure\nmore than one SSL policy for a particular target proxy. Any changes made to SSL\npolicies don't alter or interrupt existing load balancer connections.\n\nCloud Load Balancing does not support SSL versions 3.0 or\nearlier. The following table describes the feature support for each TLS/SSL\nversion.\n\nDuring each TLS handshake, the client indicates the highest TLS protocol version\nthat it supports. The server is\n[required](https://datatracker.ietf.org/doc/html/rfc8446#appendix-D)\nto select the highest protocol version supported by the client and server and\nallowed by the server configuration. For example, if a load balancer is\nconfigured with a minimum TLS version of 1.2, a handshake with a modern client\nthat supports TLS 1.3 selects TLS 1.3. A handshake with an earlier client\nthat supports only TLS 1.2 uses TLS 1.2. A handshake with an even earlier client\nthat supports only TLS 1.1 fails.\n\nThe following table lists the available SSL policy features for each\npre-configured profile. All of the features control whether particular cipher\nsuites can be used, and apply only to connections that use\nTLS version 1.2 or earlier, not to connections that use TLS 1.3.\n| **Note:** There are two common ways to refer to TLS cipher suites---[IANA\n| names](https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4) and [OpenSSL](https://docs.openssl.org/1.1.1/man1/ciphers/#cipher-suite-names) names. Google Cloud exclusively uses the IANA naming convention. If you're more familiar with platforms that use OpenSSL names, you can map the OpenSSL cipher suite names to their corresponding IANA names by running the `openssl ciphers -stdname` command in the Google Cloud CLI or your local CLI.\n\n| **Note:** Some [Microsoft documentation](https://learn.microsoft.com/en-us/windows/win32/secauthn/tls-cipher-suites-in-windows-8-1) uses nonstandard ciphersuite names (for example, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256**_P256**). The bolded text indicates the elliptic curve used for key exchange. The elliptic curve is not a part of the ciphersuite and is not configurable by SSL policies. Google Cloud load balancers support the P-256, P-384, and X25519 curves. When you're designing SSL policies, ignore this extra field.\n\nFeature updates\n---------------\n\nWe reserve the right to update the set of features enabled in the\nCOMPATIBLE, MODERN, and RESTRICTED profiles, as well as which features are\nconfigurable in a CUSTOM profile. We do this as we remove support for\nolder SSL capabilities and as we add support for newer ones.\n\nWhen we add features that enhance SSL capabilities, we may enable them\nimmediately in the COMPATIBLE, MODERN, and RESTRICTED profiles so that SSL\npolicies that select those profiles can use the new features. However, if your\npolicy selects the CUSTOM profile, you must modify the policy's settings to use\nthe added features.\n\nLimitations\n-----------\n\n- Disabling particular SSL versions or ciphers could result in some older\n clients being unable to connect to your proxy by using HTTPS or SSL. Disabling\n a sufficiently broad selection of ciphers in the CUSTOM profile could result\n in no clients being able to negotiate HTTPS.\n\n- An SSL certificate associated with your load balancer uses either an ECDSA or\n an RSA digital signature. The predefined profiles are compatible with both\n types of certificate signatures. A custom profile should enable ciphers that\n are compatible with the digital signature used by your load balancer's\n certificates.\n\n- The features that control cipher suites apply only to client connections that\n use TLS version 1.2 and earlier. They don't control cipher selection in\n connections that use TLS 1.3.\n\nWhat's next\n-----------\n\n- To create, modify, or delete an SSL policy, see [Using SSL policies](/load-balancing/docs/use-ssl-policies).\n- To configure an SSL certificate, see [Creating and using SSL certificates](/load-balancing/docs/ssl-certificates)."]]