TLS Endpoints are configured similarly to TCP Endpoints.The Endpoint will listen for TLS traffic on exposed ports and transfer it as TCP traffic to your app over the same port. For example, if your Image exposes port 123, the Endpoint will listen for TLS traffic on port 123, and forward it as TCP traffic to your app Containers on port 123.
Unlike HTTP(S) Endpoints, TLS Endpoints currently do not provide Zero-Downtime Deployment. If you require Zero-Downtime Deployments for a TLS app, you’d need to architect it yourself, e.g. at the DNS level.
TLS Endpoints enforce an idle timeout on connections. By default, the inactivity timeout is 60 seconds. You can configure a different timeout per endpoint:
In Terraform, set idle_timeout on the aptible_endpoint resource (see Endpoint Settings).
Migrating from environment variables:IDLE_TIMEOUT was previously set as an app configuration variable. Once your endpoints are configured, unset it from your app using aptible config:unset
This setting lets you customize the SSL ciphers used by your Endpoint.The format is a string accepted by Nginx for its ssl_ciphers directive.Pay very close attention to the required format, as a bad value will prevent the proxies from starting.
Enabling this setting causes your Endpoint to stop accepting traffic over the SSLv3 protocol or using the RC4 cipher.We strongly recommend enabling this on all TLS Endpoints.
In Terraform, set ssl_protocols_override, ssl_ciphers_override, and disable_weak_cipher_suites on the aptible_endpoint resource (see Endpoint Settings).
Migrating from environment variables:SSL_PROTOCOLS_OVERRIDE, SSL_CIPHERS_OVERRIDE, and DISABLE_WEAK_CIPHER_SUITES were previously set as app configuration variables. Once your endpoints are configured, unset them from your app using aptible config:unset
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Aptible","colors":{"primary":"#4361FF","light":"#4361FF","dark":"#4361FF"},"logo":{"light":"https://mintcdn.com/aptible/nK6qZs9Dv-SJIud9/logo/light-opti9.png?fit=max\u0026auto=format\u0026n=nK6qZs9Dv-SJIud9\u0026q=85\u0026s=116d34dbfb42c6d5af0b854f5a929001","dark":"https://mintcdn.com/aptible/nK6qZs9Dv-SJIud9/logo/dark-opti9.png?fit=max\u0026auto=format\u0026n=nK6qZs9Dv-SJIud9\u0026q=85\u0026s=a1e42f8cf8df1654a38c67a42a6fd308","href":"https://www.aptible.com/"},"favicon":"https://mintcdn.com/aptible/znQKnZ_9oCdAaQ49/favicon.svg?fit=max\u0026auto=format\u0026n=znQKnZ_9oCdAaQ49\u0026q=85\u0026s=f462b06cd86ceae1537728240a8d53e8","background":{"decoration":"grid"},"navbar":{"links":[{"href":"https://app.aptible.com/support","label":"Support"}],"primary":{"type":"button","label":"Sign up","href":"https://app.aptible.com/signup"}},"footer":{"socials":{"twitter":"https://twitter.com/aptible?lang=en","linkedin":"https://www.linkedin.com/company/aptible","github":"https://github.com/aptible"},"links":[{"header":"Resources","items":[{"label":"Blog","href":"https://www.aptible.com/blog"},{"label":"Changelog","href":"https://www.aptible.com/changelog"},{"label":"Trust Center","href":"https://trust.aptible.com/"}]},{"header":"Support","items":[{"label":"Contact Us","href":"https://app.aptible.com/support"},{"label":"Status Page","href":"https://status.aptible.com/"}]}]},"search":{"prompt":"Search or ask AI..."},"seo":{"metatags":{"canonical":"https://www.aptible.com/docs"}},"integrations":{"ga4":{"measurementId":"G-W2CQG3K9LP"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Contact Support","icon":"headset","href":"https://app.aptible.com/support"},{"anchor":"Changelog","icon":"sparkles","href":"https://www.aptible.com/changelog"},{"anchor":"Trust Center","icon":"lock","href":"https://trust.aptible.com/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"aptible","hasAudioNarration":false,"actualSubdomain":"aptible","customDomains":["www.aptible.com"],"gitSource":{"type":"github","owner":"aptible","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae2129e8c406dd2ccb38b9c","collectionId":"07dea331-d238-4881-9691-511408db06cf","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae2129e8c406dd2ccb38b9c"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae3f0e529c8303331bca64b","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Documentation","count":245},{"language":"default","tag":"Platform","count":122},{"language":"default","tag":"Guides","count":117},{"language":"default","tag":"Reference","count":96},{"language":"default","tag":"Aptible CLI","count":92},{"language":"default","tag":"How to Guides","count":89},{"language":"default","tag":"All CLI Commands","count":89},{"language":"default","tag":"Apps","count":37},{"language":"default","tag":"App Guides","count":35},{"language":"default","tag":"Support \u0026 Troubleshooting","count":28}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints","slug":"/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints","pageMetadata":{"title":"TLS Endpoints","description":null,"href":"/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(OptimizedImage,{src:`https://mintcdn.com/aptible/2c_c-XH-dAzVOaDu/images/ccfd24b-tls-endpoints.png?fit=max\u0026auto=format\u0026n=2c_c-XH-dAzVOaDu\u0026q=85\u0026s=7358d127473451d0a602a354f7e57f3e`,alt:`Image`,\"data-og-width\":`1280`,width:`1280`,\"data-og-height\":`720`,height:`720`,\"data-path\":`images/ccfd24b-tls-endpoints.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/aptible/2c_c-XH-dAzVOaDu/images/ccfd24b-tls-endpoints.png?w=280\u0026fit=max\u0026auto=format\u0026n=2c_c-XH-dAzVOaDu\u0026q=85\u0026s=02685d80d3c363e03e462e338e368ec3 280w, https://mintcdn.com/aptible/2c_c-XH-dAzVOaDu/images/ccfd24b-tls-endpoints.png?w=560\u0026fit=max\u0026auto=format\u0026n=2c_c-XH-dAzVOaDu\u0026q=85\u0026s=f6b273562653d772a67f8b70d89c0e28 560w, https://mintcdn.com/aptible/2c_c-XH-dAzVOaDu/images/ccfd24b-tls-endpoints.png?w=840\u0026fit=max\u0026auto=format\u0026n=2c_c-XH-dAzVOaDu\u0026q=85\u0026s=0d6188bfeab9e1a6f474a24ba12df6f5 840w, https://mintcdn.com/aptible/2c_c-XH-dAzVOaDu/images/ccfd24b-tls-endpoints.png?w=1100\u0026fit=max\u0026auto=format\u0026n=2c_c-XH-dAzVOaDu\u0026q=85\u0026s=d583b15b03bcfde42fec239a2fd37d27 1100w, https://mintcdn.com/aptible/2c_c-XH-dAzVOaDu/images/ccfd24b-tls-endpoints.png?w=1650\u0026fit=max\u0026auto=format\u0026n=2c_c-XH-dAzVOaDu\u0026q=85\u0026s=d1344f39716ca678eeb696708a89e47d 1650w, https://mintcdn.com/aptible/2c_c-XH-dAzVOaDu/images/ccfd24b-tls-endpoints.png?w=2500\u0026fit=max\u0026auto=format\u0026n=2c_c-XH-dAzVOaDu\u0026q=85\u0026s=3b74f97b8ec524ba8b3774720013e051 2500w`}),`\n`,_jsxs(_components.p,{children:[`TLS Endpoints can be created using the `,_jsx(_components.a,{href:`/reference/aptible-cli/cli-commands/cli-endpoints-tls-create`,children:_jsx(_components.code,{children:`aptible endpoints:tls:create`})}),` command.`]}),`\n`,_jsx(Heading,{level:`2`,id:`traffic`,children:`Traffic`}),`\n`,_jsx(_components.p,{children:`TLS Endpoints terminate TLS traffic and transfer it as plain TCP to your app.`}),`\n`,_jsx(Heading,{level:`2`,id:`container-ports`,children:`Container Ports`}),`\n`,_jsxs(_components.p,{children:[`TLS Endpoints are configured similarly to `,_jsx(_components.a,{href:`/core-concepts/apps/connecting-to-apps/app-endpoints/tcp-endpoints`,children:`TCP Endpoints`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The Endpoint will listen for TLS traffic on exposed ports and transfer it as TCP traffic to your app over the same port. For example, if your `,_jsx(_components.a,{href:`/core-concepts/apps/deploying-apps/image/overview`,children:`Image`}),` exposes port `,_jsx(_components.code,{children:`123`}),`, the Endpoint will listen for TLS traffic on port `,_jsx(_components.code,{children:`123`}),`, and forward it as TCP traffic to your app `,_jsx(_components.a,{href:`/core-concepts/architecture/containers/overview`,children:`Containers`}),` on port `,_jsx(_components.code,{children:`123`}),`.`]}),`\n`,_jsxs(Warning,{children:[`Unlike `,_jsx(_components.a,{href:`/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/overview`,children:`HTTP(S) Endpoints`}),`, TLS Endpoints currently do not provide `,_jsx(_components.a,{href:`/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/overview#zero-downtime-deployment`,children:`Zero-Downtime Deployment`}),`. If you require Zero-Downtime Deployments for a TLS app, you’d need to architect it yourself, e.g. at the DNS level.`]}),`\n`,_jsx(Heading,{level:`1`,id:`idle-timeout`,children:`Idle Timeout`}),`\n`,_jsx(_components.p,{children:`TLS Endpoints enforce an idle timeout on connections. By default, the inactivity timeout is 60 seconds. You can configure a different timeout per endpoint:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`aptible`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` endpoints:tls:modify`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --app`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$APP_HANDLE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$ENDPOINT_HOSTNAME`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --idle-timeout`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1200`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`In Terraform, set `,_jsx(_components.code,{children:`idle_timeout`}),` on the `,_jsx(_components.code,{children:`aptible_endpoint`}),` resource (see `,_jsx(_components.a,{href:`/reference/terraform#endpoint-settings`,children:`Endpoint Settings`}),`).`]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.strong,{children:`Migrating from environment variables:`}),` `,_jsx(_components.code,{children:`IDLE_TIMEOUT`}),` was previously set as an app configuration variable. Once your endpoints are configured, unset it from your app using `,_jsx(_components.code,{children:`aptible config:unset`})]}),`\n`,_jsx(Heading,{level:`1`,id:`ssl-/-tls-settings`,children:`SSL / TLS Settings`}),`\n`,_jsx(_components.p,{children:`Aptible offers a few ways to configure the protocols used by TLS endpoints for TLS termination.`}),`\n`,_jsx(Heading,{level:`2`,id:`ssl-protocols-override`,children:`SSL Protocols Override`}),`\n`,_jsx(_components.p,{children:`The SSL Protocols Override setting lets you customize the SSL/TLS protocols allowed on your Endpoint.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`For TLS Endpoints: you can choose from these combinations:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`TLSv1 TLSv1.1 TLSv1.2`}),` (default)`]}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`TLSv1.1 TLSv1.2`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`TLSv1.2`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`TLSv1.3`})}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`ssl-ciphers-override`,children:`SSL Ciphers Override`}),`\n`,_jsx(_components.p,{children:`This setting lets you customize the SSL ciphers used by your Endpoint.`}),`\n`,_jsxs(_components.p,{children:[`The format is a string accepted by Nginx for its `,_jsx(_components.a,{href:`http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers`,children:`ssl_ciphers directive`}),`.`]}),`\n`,_jsx(_components.p,{children:`Pay very close attention to the required format, as a bad value will prevent the proxies from starting.`}),`\n`,_jsx(Heading,{level:`2`,id:`disable-weak-cipher-suites`,children:`Disable Weak Cipher Suites`}),`\n`,_jsxs(_components.p,{children:[`Enabling this setting causes your Endpoint to stop accepting traffic over the `,_jsx(_components.code,{children:`SSLv3`}),` protocol or using the `,_jsx(_components.code,{children:`RC4`}),` cipher.`]}),`\n`,_jsx(_components.p,{children:`We strongly recommend enabling this on all TLS Endpoints.`}),`\n`,_jsx(Heading,{level:`2`,id:`examples`,children:`Examples`}),`\n`,_jsx(Heading,{level:`2`,id:`set-idle-timeout`,children:`Set Idle Timeout`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`aptible`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` endpoints:tls:modify`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --app`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$APP_HANDLE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$ENDPOINT_HOSTNAME`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --idle-timeout`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1200`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`set-ssl-protocols-override`,children:`Set SSL Protocols Override`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`aptible`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` endpoints:tls:modify`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --app`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$APP_HANDLE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$ENDPOINT_HOSTNAME`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --ssl-protocols-override`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"TLSv1.2 TLSv1.3\"`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`disable-weak-cipher-suites-2`,children:`Disable Weak Cipher Suites`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`aptible`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` endpoints:tls:modify`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --app`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$APP_HANDLE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$ENDPOINT_HOSTNAME`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --disable-weak-cipher-suites`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`In Terraform, set `,_jsx(_components.code,{children:`ssl_protocols_override`}),`, `,_jsx(_components.code,{children:`ssl_ciphers_override`}),`, and `,_jsx(_components.code,{children:`disable_weak_cipher_suites`}),` on the `,_jsx(_components.code,{children:`aptible_endpoint`}),` resource (see `,_jsx(_components.a,{href:`/reference/terraform#endpoint-settings`,children:`Endpoint Settings`}),`).`]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.strong,{children:`Migrating from environment variables:`}),` `,_jsx(_components.code,{children:`SSL_PROTOCOLS_OVERRIDE`}),`, `,_jsx(_components.code,{children:`SSL_CIPHERS_OVERRIDE`}),`, and `,_jsx(_components.code,{children:`DISABLE_WEAK_CIPHER_SUITES`}),` were previously set as app configuration variables. Once your endpoints are configured, unset them from your app using `,_jsx(_components.code,{children:`aptible config:unset`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"TLS Endpoints","description":null,"href":"/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Traffic","slug":"traffic","depth":2,"children":[]},{"title":"Container Ports","slug":"container-ports","depth":2,"children":[]},{"title":"Idle Timeout","slug":"idle-timeout","depth":1,"children":[]},{"title":"SSL / TLS Settings","slug":"ssl-/-tls-settings","depth":1,"children":[]},{"title":"SSL Protocols Override","slug":"ssl-protocols-override","depth":2,"children":[]},{"title":"SSL Ciphers Override","slug":"ssl-ciphers-override","depth":2,"children":[]},{"title":"Disable Weak Cipher Suites","slug":"disable-weak-cipher-suites","depth":2,"children":[]},{"title":"Examples","slug":"examples","depth":2,"children":[]},{"title":"Set Idle Timeout","slug":"set-idle-timeout","depth":2,"children":[]},{"title":"Set SSL Protocols Override","slug":"set-ssl-protocols-override","depth":2,"children":[]},{"title":"Disable Weak Cipher Suites","slug":"disable-weak-cipher-suites-2","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"aptible","siteName":"Aptible","title":"TLS Endpoints - Aptible","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T18:16:41.638Z","originalFileLocation":"core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Aptible\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/aptible/Sr55mlb_VATXGmMy/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/aptible/Sr55mlb_VATXGmMy/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/aptible/Sr55mlb_VATXGmMy/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/aptible/Sr55mlb_VATXGmMy/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/aptible/Sr55mlb_VATXGmMy/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/aptible/Sr55mlb_VATXGmMy/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/aptible/Sr55mlb_VATXGmMy/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/aptible/Sr55mlb_VATXGmMy/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/aptible/Sr55mlb_VATXGmMy/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"TLS Endpoints - Aptible\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Aptible\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://aptible.mintlify.app/_mintlify/api/og/v2?division=App+Endpoints\u0026amp;title=TLS+Endpoints\u0026amp;theme=c333d236eff7eda320fab2dd\u0026amp;signature=577af891f19f2e5d42d842ee2401116fe25ccfd6cb2d872599d6462f1c4949f6\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"TLS Endpoints - Aptible\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://aptible.mintlify.app/_mintlify/api/og/v2?division=App+Endpoints\u0026amp;title=TLS+Endpoints\u0026amp;theme=c333d236eff7eda320fab2dd\u0026amp;signature=577af891f19f2e5d42d842ee2401116fe25ccfd6cb2d872599d6462f1c4949f6\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/aptible/Sr55mlb_VATXGmMy/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Aptible\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4361FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.aptible.com/#organization\",\"name\":\"Aptible\",\"url\":\"https://www.aptible.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/aptible/nK6qZs9Dv-SJIud9/logo/light-opti9.png?fit=max\u0026auto=format\u0026n=nK6qZs9Dv-SJIud9\u0026q=85\u0026s=116d34dbfb42c6d5af0b854f5a929001\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.aptible.com/docs#website\",\"name\":\"Aptible\",\"url\":\"https://www.aptible.com/docs\",\"publisher\":{\"@id\":\"https://www.aptible.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints#webpage\",\"url\":\"https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints\",\"name\":\"TLS Endpoints\",\"dateModified\":\"2026-10-26T18:16:41.638Z\",\"isPartOf\":{\"@id\":\"https://www.aptible.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Platform\",\"item\":\"https://www.aptible.com/docs/core-concepts/apps/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apps\",\"item\":\"https://www.aptible.com/docs/core-concepts/apps/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Connecting to Apps\",\"item\":\"https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/overview\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"App Endpoints\",\"item\":\"https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/overview\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"TLS Endpoints\",\"item\":\"https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints#article\",\"headline\":\"TLS Endpoints\",\"name\":\"TLS Endpoints\",\"url\":\"https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints\",\"mainEntityOfPage\":{\"@id\":\"https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints#webpage\"},\"dateModified\":\"2026-10-26T18:16:41.638Z\",\"publisher\":{\"@id\":\"https://www.aptible.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.aptible.com/docs#website\"}}]}\u003c/script>","siteName":"Aptible","nav":{"global":{"anchors":[{"anchor":"Contact Support","icon":"headset","href":"https://app.aptible.com/support"},{"anchor":"Changelog","icon":"sparkles","href":"https://www.aptible.com/changelog"},{"anchor":"Trust Center","icon":"lock","href":"https://trust.aptible.com/"}]},"tabs":[{"tab":"Documentation","groups":[{"group":" ","pages":[{"title":"Aptible Documentation","sidebarTitle":"Home","mode":"wide","href":"/getting-started/home"}]},{"group":"Getting Started","pages":[{"title":"Introduction to Aptible","sidebarTitle":"Introduction","href":"/getting-started/introduction"},{"group":"Deploy your first App","pages":[{"title":"Deploy your first app","sidebarTitle":"View all templates","hidden":true,"href":"/getting-started/deploy-starter-template/overview"},{"title":"Deploy your custom code","href":"/getting-started/deploy-custom-code"},{"title":"Deploy a Ruby on Rails Template","sidebarTitle":"Deploy a Ruby Template","href":"/getting-started/deploy-starter-template/ruby-on-rails"},{"title":"Deploy a Node.js + Express Template","sidebarTitle":"Deploy a Node.js Template","href":"/getting-started/deploy-starter-template/node-js"},{"title":"Deploy a Python + Django Template","sidebarTitle":"Deploy a Django Template","href":"/getting-started/deploy-starter-template/python-django"},{"title":"Deploy a PHP + Laravel Template","sidebarTitle":"Deploy a Laravel Template","href":"/getting-started/deploy-starter-template/php-laravel"},{"title":"Deploy a Python + Flask Demo App","sidebarTitle":"Deploy a Python Demo App","href":"/getting-started/deploy-starter-template/python-flask"}]},{"group":"Secure your LLM usage","pages":[{"title":"Secure Claude Code with the LLM Gateway","sidebarTitle":"Claude Code","href":"/getting-started/secure-llm-usage/claude-code"},{"title":"Secure OpenAI-compatible SDKs with the LLM Gateway","sidebarTitle":"OpenAI-compatible SDKs","href":"/getting-started/secure-llm-usage/openai-sdk"},{"title":"Secure Anthropic-compatible SDKs with the LLM Gateway","sidebarTitle":"Anthropic-compatible SDKs","href":"/getting-started/secure-llm-usage/anthropic-sdk"}]}]},{"group":"Platform","pages":[{"group":"Apps","pages":[{"title":"Apps","sidebarTitle":"Overview","href":"/core-concepts/apps/overview"},{"group":"Deploying Apps","pages":[{"title":"Deploying Apps","sidebarTitle":"Overview","href":"/core-concepts/apps/deploying-apps/overview"},{"group":"Image","pages":[{"title":"Image","sidebarTitle":"Overview","href":"/core-concepts/apps/deploying-apps/image/overview"},{"group":"Deploying with Git","pages":[{"title":"Deploying with Git","sidebarTitle":"Overview","href":"/core-concepts/apps/deploying-apps/image/deploying-with-git/overview"},{"title":"Docker Build","href":"/core-concepts/apps/deploying-apps/image/deploying-with-git/build"}]},{"group":"Deploying with Docker Image","pages":[{"title":"Deploying with Docker Image","sidebarTitle":"Overview","href":"/core-concepts/apps/deploying-apps/image/deploying-with-docker-image/overview"},{"title":"Procfiles and `.aptible.yml`","href":"/core-concepts/apps/deploying-apps/image/deploying-with-docker-image/procfile-aptible-yml-direct-docker-deploy"}]}]},{"title":"Services","href":"/core-concepts/apps/deploying-apps/services"},{"title":"Configuration","href":"/core-concepts/apps/deploying-apps/configuration"},{"group":"Releases","pages":[{"title":"Releases","sidebarTitle":"Overview","href":"/core-concepts/apps/deploying-apps/releases/overview"},{"title":".aptible.yml","href":"/core-concepts/apps/deploying-apps/releases/aptible-yml"}]},{"title":"Rollbacks","sidebarTitle":"Rollbacks","href":"/core-concepts/apps/deploying-apps/releases/rollbacks"},{"group":"Deployment Sources","pages":[{"title":"Deployment Sources","sidebarTitle":"Overview","href":"/core-concepts/observability/sources"},{"title":"Linking Apps to Sources","href":"/core-concepts/apps/deploying-apps/linking-apps-to-sources"}]}]},{"group":"Connecting to Apps","pages":[{"title":"Connecting to Apps","sidebarTitle":"Overview","href":"/core-concepts/apps/connecting-to-apps/overview"},{"group":"App Endpoints","pages":[{"title":"App Endpoints","sidebarTitle":"Overview","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/overview"},{"group":"HTTP(S) Endpoints","pages":[{"title":"HTTP(S) Endpoints","sidebarTitle":"Overview","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/overview"},{"title":"Health Checks","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/health-checks"},{"title":"HTTP Request Headers","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/http-request-headers"},{"title":"HTTPS Protocols","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/https-protocols"},{"title":"HTTPS Redirect","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/https-redirect"},{"title":"Maintenance Page","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/maintenance-page"},{"title":"Endpoint Logs","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/endpoint-logs"},{"title":"Shared Endpoints","sidebarTitle":"Shared Endpoints","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/shared-endpoints"},{"title":"Header Authentication","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/header-authentication"}]},{"title":"gRPC Endpoints","description":null,"href":"/core-concepts/apps/connecting-to-apps/app-endpoints/grpc-endpoints"},{"title":"TLS Endpoints","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/tls-endpoints"},{"title":"TCP Endpoints","description":null,"href":"/core-concepts/apps/connecting-to-apps/app-endpoints/tcp-endpoints"},{"title":"Default Domain","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/default-domain"},{"title":"Custom Domain","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/custom-domain"},{"title":"Custom Certificate","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/custom-certificate"},{"title":"Managed TLS","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/managed-tls"},{"title":"IP Filtering","href":"/core-concepts/apps/connecting-to-apps/app-endpoints/ip-filtering"}]},{"title":"Ephemeral SSH Sessions","href":"/core-concepts/apps/connecting-to-apps/ssh-sessions"},{"title":"Outbound IP Addresses","href":"/core-concepts/apps/connecting-to-apps/outbound-ips"}]},{"title":"Managing Apps","href":"/core-concepts/apps/managing-apps"},{"title":"Persistent Disks for Apps","sidebarTitle":"Persistent Disks","href":"/core-concepts/apps/persistent-disks"}]},{"group":"Managed Databases","pages":[{"title":"Managed Databases","sidebarTitle":"Overview","href":"/core-concepts/managed-databases/overview"},{"title":"Provisioning Databases","href":"/core-concepts/managed-databases/provisioning-databases"},{"group":"Connecting Databases","pages":[{"title":"Connecting to Databases","sidebarTitle":"Overview","href":"/core-concepts/managed-databases/connecting-databases/overview"},{"title":"Database Credentials","href":"/core-concepts/managed-databases/connecting-databases/database-credentials"},{"title":"Database Tunnels","href":"/core-concepts/managed-databases/connecting-databases/database-tunnels"},{"title":"Database Endpoints","href":"/core-concepts/managed-databases/connecting-databases/database-endpoints"}]},{"group":"Managing Databases","pages":[{"title":"Managing Databases","sidebarTitle":"Overview","href":"/core-concepts/managed-databases/managing-databases/overview"},{"title":"Database Scaling","href":"/core-concepts/scaling/database-scaling"},{"title":"Database Performance Tuning","href":"/core-concepts/managed-databases/managing-databases/database-tuning"},{"group":"Database Encryption","pages":[{"title":"Database Encryption","href":"/core-concepts/managed-databases/managing-databases/database-encryption/overview"},{"title":"Database Encryption at Rest","href":"/core-concepts/managed-databases/managing-databases/database-encryption/database-encryption"},{"title":"Application-Level Encryption","href":"/core-concepts/managed-databases/managing-databases/database-encryption/application-level-encryption"},{"title":"Database Encryption in Transit","href":"/core-concepts/managed-databases/managing-databases/database-encryption/database-encryption-in-transit"}]},{"title":"Database Backups","href":"/core-concepts/managed-databases/managing-databases/database-backups"},{"title":"Point-in-Time Recovery (PITR)","href":"/core-concepts/managed-databases/managing-databases/point-in-time-recovery"},{"title":"Database Replication and Clustering","href":"/core-concepts/managed-databases/managing-databases/replication-clustering"},{"title":"Database Upgrades","href":"/core-concepts/managed-databases/managing-databases/database-upgrade-methods"}]},{"group":"Supported Databases","pages":[{"title":"PostgreSQL","href":"/core-concepts/managed-databases/supported-databases/postgresql"},{"title":"Redis","href":"/core-concepts/managed-databases/supported-databases/redis"},{"title":"MySQL","href":"/core-concepts/managed-databases/supported-databases/mysql"},{"title":"RabbitMQ","href":"/core-concepts/managed-databases/supported-databases/rabbitmq"},{"title":"MongoDB","href":"/core-concepts/managed-databases/supported-databases/mongodb"},{"title":"Elasticsearch","href":"/core-concepts/managed-databases/supported-databases/elasticsearch"},{"title":"InfluxDB","href":"/core-concepts/managed-databases/supported-databases/influxdb"},{"title":"SFTP","href":"/core-concepts/managed-databases/supported-databases/sftp"},{"title":"CouchDB","href":"/core-concepts/managed-databases/supported-databases/couchdb"}]}]},{"group":"Architecture","pages":[{"title":"Architecture","sidebarTitle":"Overview","href":"/core-concepts/architecture/overview"},{"title":"Stacks","href":"/core-concepts/architecture/stacks"},{"title":"Environments","href":"/core-concepts/architecture/environments"},{"group":"Containers","pages":[{"title":"Containers","sidebarTitle":"Overview","href":"/core-concepts/architecture/containers/overview"},{"title":"Container Recovery","href":"/core-concepts/architecture/containers/container-recovery"}]},{"title":"Operations","href":"/core-concepts/architecture/operations"}]},{"group":"Scaling","pages":[{"title":"Scaling","sidebarTitle":"Overview","href":"/core-concepts/scaling/overview"},{"title":"App Scaling","href":"/core-concepts/scaling/app-scaling"},{"title":"Database Scaling","href":"/core-concepts/scaling/database-scaling"},{"title":"Container Profiles","href":"/core-concepts/scaling/container-profiles"},{"title":"CPU Allocation","href":"/core-concepts/scaling/cpu-isolation"},{"title":"Memory Management","href":"/core-concepts/scaling/memory-limits"},{"title":"Container Efficiency Recommendations","href":"/core-concepts/scaling/container-efficiency-recommendations"}]},{"group":"Observability","pages":[{"title":"Observability","sidebarTitle":"Overview","href":"/core-concepts/observability/overview"},{"group":"Activity","pages":[{"title":"Activity","sidebarTitle":"Overview","href":"/core-concepts/observability/activity/overview"},{"title":"Activity Details","href":"/core-concepts/observability/activity/activity-details"},{"title":"Navigating Activity in the UI","href":"/core-concepts/observability/activity/navigating-activity"},{"title":"Activity Reports","href":"/core-concepts/observability/activity/activity-reports"},{"group":"Integrations","pages":[{"title":"SIEM/Logging Integration","sidebarTitle":"Overview","href":"/core-concepts/observability/activity/integrations"},{"title":"Hosted Elasticsearch","href":"/core-concepts/observability/activity/integrations/elastic-cloud"},{"title":"Logging Provider","href":"/core-concepts/observability/activity/integrations/logging-provider"}]}]},{"group":"Logs","pages":[{"title":"Logs","sidebarTitle":"Overview","href":"/core-concepts/observability/logs/overview"},{"group":"Log Drains","pages":[{"title":"Log Drains","sidebarTitle":"Overview","href":"/core-concepts/observability/logs/log-drains/overview"},{"title":"Datadog Integration","href":"/core-concepts/integrations/datadog"},{"title":"Elasticsearch Log Drains","href":"/core-concepts/observability/logs/log-drains/elasticsearch-log-drains"},{"title":"HTTPS Log Drains","href":"/core-concepts/observability/logs/log-drains/https-log-drains"},{"title":"Syslog Log Drains","href":"/core-concepts/observability/logs/log-drains/syslog-log-drains"}]},{"title":"Log Archiving to S3","href":"/core-concepts/observability/logs/s3-log-archives"}]},{"group":"Metrics","pages":[{"title":"Metrics","sidebarTitle":"Overview","href":"/core-concepts/observability/metrics/overview"},{"group":"Metrics Drains","pages":[{"title":"Metrics Drains","sidebarTitle":"Overview","href":"/core-concepts/observability/metrics/metrics-drains/overview"},{"title":"Datadog Integration","href":"/core-concepts/integrations/datadog"},{"title":"InfluxDB Metric Drain","href":"/core-concepts/observability/metrics/metrics-drains/influxdb-metric-drain"}]}]}]},{"group":"Security \u0026 Compliance","pages":[{"title":"Security \u0026 Compliance - Overview","sidebarTitle":"Overview","href":"/core-concepts/security-compliance/overview"},{"group":"Compliance Frameworks","pages":[{"title":"HIPAA","href":"/core-concepts/security-compliance/compliance-frameworks/hipaa"},{"title":"HITRUST","href":"/core-concepts/security-compliance/compliance-frameworks/hitrust"},{"title":"PCI DSS","href":"/core-concepts/security-compliance/compliance-frameworks/pci"},{"title":"SOC 2","href":"/core-concepts/security-compliance/compliance-frameworks/soc2"},{"title":"PIPEDA","href":"/core-concepts/security-compliance/compliance-frameworks/pipeda"}]},{"group":"Authentication","pages":[{"title":"Password Authentication","href":"/core-concepts/security-compliance/authentication/password-authentication"},{"title":"SSH Keys","href":"/core-concepts/security-compliance/authentication/ssh-keys"},{"title":"Single Sign-On (SSO)","href":"/core-concepts/security-compliance/authentication/sso"},{"title":"Provisioning (SCIM)","href":"/core-concepts/security-compliance/authentication/scim"}]},{"title":"Roles \u0026 Permissions","href":"/core-concepts/security-compliance/access-permissions"},{"group":"Security Compliance Dashboard","pages":[{"title":"Security \u0026 Compliance Dashboard","sidebarTitle":"Overview","href":"/core-concepts/security-compliance/security-compliance-dashboard/overview"},{"title":"Resources in Scope","href":"/core-concepts/security-compliance/security-compliance-dashboard/resources-in-scope"},{"title":"Compliance Readiness Scores","href":"/core-concepts/security-compliance/security-compliance-dashboard/compliance-readiness-scores"},{"title":"Control Performance","href":"/core-concepts/security-compliance/security-compliance-dashboard/control-performance"},{"title":"Shareable Compliance Posture Report","href":"/core-concepts/security-compliance/security-compliance-dashboard/shareable-compliance-report"}]},{"title":"DDoS Protection","href":"/core-concepts/security-compliance/ddos-pid-limits"},{"title":"Managed Host Intrusion Detection (HIDS)","href":"/core-concepts/security-compliance/hids"},{"title":"Red Team Scans","tag":"BETA","href":"/core-concepts/security-compliance/red-team-scans"}]},{"group":"Reliability \u0026 Maintenance","pages":[{"title":"Reliability","sidebarTitle":"Overview","href":"/core-concepts/reliability/overview"},{"title":"Reliability Division of Responsibilities","href":"/core-concepts/reliability/division-of-responsibility"},{"title":"Maintenance","href":"/core-concepts/reliability/maintenance"},{"title":"Security and Ops Alert Notifications","href":"/core-concepts/reliability/ops-alert-notifications"}]},{"group":"Integrations","pages":[{"title":"All Integrations and Tools","href":"/core-concepts/integrations/overview"},{"title":"Datadog Integration","href":"/core-concepts/integrations/datadog"},{"title":"Mezmo Integration","href":"/core-concepts/integrations/mezmo"},{"title":"Network Integrations: VPC Peering \u0026 VPN Tunnels","href":"/core-concepts/integrations/network-integrations"},{"title":"Sumo Logic Integration","href":"/core-concepts/integrations/sumo-logic"},{"title":"Twingate Integration","href":"/core-concepts/integrations/twingate"},{"title":"SolarWinds Integration","href":"/core-concepts/integrations/solarwinds"}]}]},{"group":"Managed AI","pages":[{"group":"LLM Gateway","pages":[{"title":"LLM Gateway","sidebarTitle":"Overview","href":"/llm-gateway"},{"title":"Upgrading from v1.0","sidebarTitle":"Upgrading from v1.0","href":"/llm-gateway/upgrading-from-v1"},{"title":"LLM Keys","href":"/llm-gateway/llm-keys"},{"title":"Supported APIs","sidebarTitle":"Supported APIs","href":"/llm-gateway/supported-apis"},{"group":"Model Access \u0026 Control","pages":[{"title":"Supported Models for LLM Gateway","sidebarTitle":"Supported Models","href":"/llm-gateway/supported-models"},{"title":"Model Access Policies for LLM Gateway","sidebarTitle":"Model Access Policies","href":"/llm-gateway/model-access-policies"}]},{"title":"Cost Visibility \u0026 Control for LLM Gateway","sidebarTitle":"Cost Visibility \u0026 Control","href":"/llm-gateway/cost-control"},{"title":"Audit Logging","href":"/llm-gateway/audit-logging"},{"title":"Security \u0026 Compliance for LLM Gateway","sidebarTitle":"Security \u0026 Compliance","href":"/llm-gateway/security-and-compliance-guardails"}]},{"group":"MCP Gateway","tag":"BETA","pages":[{"title":"MCP Gateway","sidebarTitle":"Overview","href":"/mcp-gateway"},{"title":"Connecting to MCP Gateway","sidebarTitle":"Connecting to MCP Gateway","href":"/mcp-gateway/connect"},{"title":"Servers \u0026 Tools","sidebarTitle":"Servers \u0026 Tools","href":"/mcp-gateway/servers"},{"group":"Access Control","pages":[{"title":"Access Control","sidebarTitle":"Overview","href":"/mcp-gateway/access-control"},{"title":"Grants","sidebarTitle":"Grants","href":"/mcp-gateway/grants"},{"title":"Membership","sidebarTitle":"Membership","href":"/mcp-gateway/membership"}]},{"title":"Audit Logging","sidebarTitle":"Audit Logging","href":"/mcp-gateway/audit-logs"}]}]},{"group":"Reference","pages":[{"group":"Aptible CLI","pages":[{"title":"Aptible CLI - Overview","sidebarTitle":"Overview","href":"/reference/aptible-cli/overview"},{"title":"CLI Changelog","sidebarTitle":"Changelog","href":"/reference/aptible-cli/cli-changelog"},{"group":"All CLI Commands","pages":[{"title":"aptible apps","href":"/reference/aptible-cli/cli-commands/cli-apps"},{"title":"aptible apps:create","href":"/reference/aptible-cli/cli-commands/cli-apps-create"},{"title":"aptible apps:deprovision","href":"/reference/aptible-cli/cli-commands/cli-apps-deprovision"},{"title":"aptible apps:rename","href":"/reference/aptible-cli/cli-commands/cli-apps-rename"},{"title":"aptible apps:scale","href":"/reference/aptible-cli/cli-commands/cli-apps-scale"},{"title":"aptible apps:settings","href":"/reference/aptible-cli/cli-commands/cli-apps-settings"},{"title":"aptible apps:settings:set","href":"/reference/aptible-cli/cli-commands/cli-apps-settings-set"},{"title":"aptible backup:list","href":"/reference/aptible-cli/cli-commands/cli-backup-list"},{"title":"aptible backup:orphaned","href":"/reference/aptible-cli/cli-commands/cli-backup-orphaned"},{"title":"aptible backup:purge","href":"/reference/aptible-cli/cli-commands/cli-backup-purge"},{"title":"aptible backup:restore","href":"/reference/aptible-cli/cli-commands/cli-backup-restore"},{"title":"aptible backup_retention_policy","href":"/reference/aptible-cli/cli-commands/cli-backup-retention-policy"},{"title":"aptible backup_retention_policy:set","href":"/reference/aptible-cli/cli-commands/cli-backup-retention-policy-set"},{"title":"aptible config","href":"/reference/aptible-cli/cli-commands/cli-config"},{"title":"aptible config:add","href":"/reference/aptible-cli/cli-commands/cli-config-add"},{"title":"aptible config:get","href":"/reference/aptible-cli/cli-commands/cli-config-get"},{"title":"aptible config:rm","href":"/reference/aptible-cli/cli-commands/cli-config-rm"},{"title":"aptible config:set","href":"/reference/aptible-cli/cli-commands/cli-config-set"},{"title":"aptible config:unset","href":"/reference/aptible-cli/cli-commands/cli-config-unset"},{"title":"aptible db:backup","href":"/reference/aptible-cli/cli-commands/cli-db-backup"},{"title":"aptible db:clone","href":"/reference/aptible-cli/cli-commands/cli-db-clone"},{"title":"aptible db:create","href":"/reference/aptible-cli/cli-commands/cli-db-create"},{"title":"aptible db:deprovision","href":"/reference/aptible-cli/cli-commands/cli-db-deprovision"},{"title":"aptible db:dump","href":"/reference/aptible-cli/cli-commands/cli-db-dump"},{"title":"aptible db:execute","href":"/reference/aptible-cli/cli-commands/cli-db-execute"},{"title":"aptible db:list","href":"/reference/aptible-cli/cli-commands/cli-db-list"},{"title":"aptible db:modify","href":"/reference/aptible-cli/cli-commands/cli-db-modify"},{"title":"aptible db:reload","href":"/reference/aptible-cli/cli-commands/cli-db-reload"},{"title":"aptible db:replicate","href":"/reference/aptible-cli/cli-commands/cli-db-replicate"},{"title":"aptible db:rename","href":"/reference/aptible-cli/cli-commands/cli-db-rename"},{"title":"aptible db:restart","href":"/reference/aptible-cli/cli-commands/cli-db-restart"},{"title":"aptible db:settings","href":"/reference/aptible-cli/cli-commands/cli-db-settings"},{"title":"aptible db:settings:set","href":"/reference/aptible-cli/cli-commands/cli-db-settings-set"},{"title":"aptible db:tunnel","href":"/reference/aptible-cli/cli-commands/cli-db-tunnel"},{"title":"aptible db:url","href":"/reference/aptible-cli/cli-commands/cli-db-url"},{"title":"aptible db:versions","href":"/reference/aptible-cli/cli-commands/cli-db-versions"},{"title":"aptible deploy","href":"/reference/aptible-cli/cli-commands/cli-deploy"},{"title":"aptible endpoints:database:create","href":"/reference/aptible-cli/cli-commands/cli-endpoints-database-create"},{"title":"aptible endpoints:database:modify","href":"/reference/aptible-cli/cli-commands/cli-endpoints-database-modify"},{"title":"aptible endpoints:deprovision","href":"/reference/aptible-cli/cli-commands/cli-endpoints-deprovision"},{"title":"aptible endpoints:https:create","href":"/reference/aptible-cli/cli-commands/cli-endpoints-https-create"},{"title":"aptible endpoints:https:modify","href":"/reference/aptible-cli/cli-commands/cli-endpoints-https-modify"},{"title":"aptible endpoints:list","href":"/reference/aptible-cli/cli-commands/cli-endpoints-list"},{"title":"aptible endpoints:renew","href":"/reference/aptible-cli/cli-commands/cli-endpoints-renew"},{"title":"aptible endpoints:tcp:create","href":"/reference/aptible-cli/cli-commands/cli-endpoints-tcp-create"},{"title":"aptible endpoints:tcp:modify","href":"/reference/aptible-cli/cli-commands/cli-endpoints-tcp-modify"},{"title":"aptible endpoints:tls:create","href":"/reference/aptible-cli/cli-commands/cli-endpoints-tls-create"},{"title":"aptible endpoints:tls:modify","href":"/reference/aptible-cli/cli-commands/cli-endpoints-tls-modify"},{"title":"aptible endpoints:grpc:create","href":"/reference/aptible-cli/cli-commands/cli-endpoints-grpc-create"},{"title":"aptible endpoints:grpc:modify","href":"/reference/aptible-cli/cli-commands/cli-endpoints-grpc-modify"},{"title":"aptible environment:ca_cert","href":"/reference/aptible-cli/cli-commands/cli-environment-ca-cert"},{"title":"aptible environment:list","href":"/reference/aptible-cli/cli-commands/cli-environment-list"},{"title":"aptible environment:rename","href":"/reference/aptible-cli/cli-commands/cli-environment-rename"},{"title":"aptible help","href":"/reference/aptible-cli/cli-commands/cli-help"},{"title":"aptible log_drain:create:datadog","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-datadog"},{"title":"aptible log_drain:create:elasticsearch","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-elasticsearch"},{"title":"aptible log_drain:create:https","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-https"},{"title":"aptible log_drain:create:logdna","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-logdna"},{"title":"aptible log_drain:create:papertrail","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-papertrail"},{"title":"aptible log_drain:create:sumologic","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-sumologic"},{"title":"aptible log_drain:create:syslog","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-syslog"},{"title":"aptible log_drain:create:solarwinds","href":"/reference/aptible-cli/cli-commands/cli-log-drain-create-solarwinds"},{"title":"aptible log_drain:deprovision","href":"/reference/aptible-cli/cli-commands/cli-log-drain-deprovision"},{"title":"aptible log_drain:list","href":"/reference/aptible-cli/cli-commands/cli-log-drain-list"},{"title":"aptible login","href":"/reference/aptible-cli/cli-commands/cli-login"},{"title":"aptible logout","href":"/reference/aptible-cli/cli-commands/cli-logout"},{"title":"aptible logs","href":"/reference/aptible-cli/cli-commands/cli-logs"},{"title":"aptible logs_from_archive","href":"/reference/aptible-cli/cli-commands/cli-logs-from-archive"},{"title":"aptible maintenance:apps","href":"/reference/aptible-cli/cli-commands/cli-maintenance-apps"},{"title":"aptible maintenance:dbs","href":"/reference/aptible-cli/cli-commands/cli-maintenance-dbs"},{"title":"aptible metric_drain:create:datadog","href":"/reference/aptible-cli/cli-commands/cli-metric-drain-create-datadog"},{"title":"aptible metric_drain:create:influxdb","href":"/reference/aptible-cli/cli-commands/cli-metric-drain-create-influxdb"},{"title":"aptible metric_drain:create:influxdb:custom","href":"/reference/aptible-cli/cli-commands/cli-metric-drain-create-influxdb-custom"},{"title":"aptible metric_drain:create:influxdb:customv2","href":"/reference/aptible-cli/cli-commands/cli-metric-drain-create-influxdb-customv2"},{"title":"aptible metric_drain:deprovision","href":"/reference/aptible-cli/cli-commands/cli-metric-drain-deprovision"},{"title":"aptible metric_drain:list","href":"/reference/aptible-cli/cli-commands/cli-metric-drain-list"},{"title":"aptible operation:cancel","href":"/reference/aptible-cli/cli-commands/cli-operation-cancel"},{"title":"aptible operation:follow","href":"/reference/aptible-cli/cli-commands/cli-operation-follow"},{"title":"aptible operation:logs","href":"/reference/aptible-cli/cli-commands/cli-operation-logs"},{"title":"aptible organizations","href":"/reference/aptible-cli/cli-commands/cli-organizations"},{"title":"aptible rebuild","href":"/reference/aptible-cli/cli-commands/cli-rebuild"},{"title":"aptible restart","href":"/reference/aptible-cli/cli-commands/cli-restart"},{"title":"aptible services","href":"/reference/aptible-cli/cli-commands/cli-services"},{"title":"aptible services:settings","href":"/reference/aptible-cli/cli-commands/cli-services-settings"},{"title":"aptible services:autoscaling_policy","href":"/reference/aptible-cli/cli-commands/cli-services-autoscalingpolicy"},{"title":"aptible services:autoscaling_policy:set","href":"/reference/aptible-cli/cli-commands/cli-services-autoscalingpolicy-set"},{"title":"aptible ssh","href":"/reference/aptible-cli/cli-commands/cli-ssh"},{"title":"aptible version","href":"/reference/aptible-cli/cli-commands/cli-version"},{"title":"aptible whoami","href":"/reference/aptible-cli/cli-commands/cli-whoami"}]},{"title":"CLI Configurations","href":"/reference/aptible-cli/cli-configurations"}]},{"title":"Dashboard","hidden":true,"href":"/reference/dashboard"},{"title":"Terraform","href":"/reference/terraform"},{"title":"Aptible Metadata Variables","sidebarTitle":"Metadata Variables","href":"/reference/aptible-metadata-variables"},{"title":"Glossary","hidden":true,"href":"/reference/glossary"},{"title":"Pricing","href":"/reference/pricing"},{"title":"Billing \u0026 Payments","href":"/core-concepts/billing-payments"}]}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/how-to-guides/guides-overview"}]}]},"title":"TLS Endpoints - Aptible","buildId":"dpl_DGmhKsAzJdVqypJzon18vViniWRY","deploymentId":"dpl_DGmhKsAzJdVqypJzon18vViniWRY","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-B_gjFIjh.js","lightbox-handle-r17bVUz3.js"]}