Nebius Tunnels lets you expose a service running on a virtual machine (VM), on your laptop or behind a firewall to the internet without opening inbound firewall ports, assigning a public IP address to the service or configuring DNS and TLS certificates.
A tunnel agent that runs next to your application.
One or more services in the agent configuration. Each service maps a public tunnel URL to a local HTTP or TCP endpoint.
The agent opens an outbound TLS connection to a regional Nebius edge endpoint. When a client sends a request to the public tunnel URL, the edge forwards the request back through the existing agent connection. The VM or private network doesn’t need to accept inbound connections from the internet for this traffic.
HTTP services over HTTP/1.1, including WebSocket upgrade requests.
HTTP services over HTTP/2, including gRPC, by setting protocol: h2 in the agent configuration.
TCP services.
Multiple services in one tunnel, each with its own service name and public URL.
The agent-to-edge tunnel connection uses HTTP/2 multiplexing, so multiple client requests can share the same outbound connection from the agent to the edge.Each public URL uses this format:
service_name is the services.name value from the agent configuration.
tunnel_masked_ID is the mask of the tunnel ID without the applicationtunnel- prefix and regional routing code. For example, for applicationtunnel-e00abcdef123456789, the tunnel ID mask is abcdef123456789.
region is the region of the project where the tunnel was created, for example eu-north1.
In the agent configuration, services.name can contain up to 20 characters and must use only lowercase Latin letters and digits ([a-z0-9]). Don’t use dashes or dots.
The tunnel agent authenticates with Identity and Access Management. To connect to a tunnel, the service account used by the agent must have the applicationtunnel.agent role on that tunnel or on one of its parent resources.
Nebius Tunnels secures the transport between the tunnel agent and Nebius edge, but it doesn’t add user authentication or authorization to your application. Configure access control in the application itself before exposing it through a tunnel.
The tunnel agent can authenticate as a service account by using:
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Nebius AI Cloud","colors":{"primary":"#6057f7","light":"#6057f7","dark":"#6057f7"},"logo":{"light":"https://mintcdn.com/nebius-ai-cloud/Ig0U9IUMcvPL0NXJ/_assets/logo/logo.svg?fit=max\u0026auto=format\u0026n=Ig0U9IUMcvPL0NXJ\u0026q=85\u0026s=8dd637468a6b53f6c1af6387d11e76c7","dark":"https://mintcdn.com/nebius-ai-cloud/Ig0U9IUMcvPL0NXJ/_assets/logo/logo.svg?fit=max\u0026auto=format\u0026n=Ig0U9IUMcvPL0NXJ\u0026q=85\u0026s=8dd637468a6b53f6c1af6387d11e76c7"},"favicon":"https://mintcdn.com/nebius-ai-cloud/Ig0U9IUMcvPL0NXJ/_assets/favicon.ico?fit=max\u0026auto=format\u0026n=Ig0U9IUMcvPL0NXJ\u0026q=85\u0026s=8a5c39792808860e8902cbf209ba4843","appearance":{"default":"system"},"background":{"color":{"dark":"#26262A"}},"navbar":{"links":[{"href":"https://nebius.com/#ai-contact-form","label":"Contact us"}],"primary":{"type":"button","label":"Open web console","href":"https://console.nebius.com/"}},"footer":{"socials":{"youtube":"https://www.youtube.com/@nebiusofficial","facebook":"https://www.facebook.com/nebiusofficial","linkedin":"https://www.linkedin.com/company/nebius","x":"https://x.com/nebiusai"}},"seo":{"metatags":{"google-site-verification":"p7dnMrsuoFlnyF9Oo0Ys0xPbeRCpQ9MedGsgi7nBOaI"}},"integrations":{"ga4":{"measurementId":"G-DHKV2ZED15"}},"contextual":{"options":["mcp","copy","view","vscode","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nebius-ai-cloud","hasAudioNarration":false,"actualSubdomain":"nebius-ai-cloud","customDomains":["docs.nebius.com"],"gitSource":{"type":"github","owner":"nebius","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED","enabled":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aee97174aef34cec233a24c","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Developer tools","count":1579},{"language":"default","tag":"Reference","count":1533},{"language":"default","tag":"CLI","count":822},{"language":"default","tag":"REST API","count":613},{"language":"default","tag":"v1","count":471},{"language":"default","tag":"iam","count":332},{"language":"default","tag":"vpc","count":237},{"language":"default","tag":"v1alpha1","count":225},{"language":"default","tag":"Infrastructure","count":214},{"language":"default","tag":"operation","count":189}],"searchSettings":{"isFiltersEnabled":false}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"_assets/css/styles.css","content":".inline_svg svg{display:inline}.custom-card-icon{width:fit-content!important}.custom-card-icon>div{padding:32px;height:100%}.getting_started_wrapper .custom-card-icon:hover{border:1px solid rgba(27, 45, 79, 0.15)!important}.dark .getting_started_wrapper .custom-card-icon,.dark .getting_started_wrapper .custom-card-icon:hover{border:1px solid rgba(255, 255, 255, 0.15)!important}.getting_started_wrapper .custom-card-icon>div:hover{background:rgba(0, 0, 0, 0.03)}.dark .getting_started_wrapper .custom-card-icon>div:hover{background:rgba(255, 255, 255, 0.03)}.platform_services_wrapper .custom-card-icon{border:none;border-radius:24px;box-shadow:1px 3px 13px 0px rgba(0, 0, 0, 0.05), 0px 1px 6px 0px rgba(0, 0, 0, 0.05)}.platform_services_wrapper .custom-card-icon:hover{box-shadow:0px 3px 10px 0px rgba(0, 0, 0, 0.15)}.dark .platform_services_wrapper .custom-card-icon{background:rgba(48, 48, 53, 1)}.dark .platform_services_wrapper .custom-card-icon>div:hover{background:rgba(255, 255, 255, 0.03)}.custom-card-icon a{background-color:#fff!important}.dark .custom-card-icon a{background-color:#303035!important;border-color:#303035!important}nav ul .navbar-link a,nav ul #topbar-cta-button a span{border-radius:50px!important;color:#fff}nav ul .navbar-link a:hover{color:#fff}#navbar>div.relative{width:100%;max-width:100%}#navbar>div.max-w-8xl.mx-auto.relative>div>div.relative>div>div,#navbar>div.max-w-8xl.mx-auto.relative>div>div.hidden.lg\\:flex.px-12.h-12{max-width:92rem!important;margin:auto;padding-left:3rem;padding-right:3rem}#navbar>div.relative>div>div.relative,#navbar>div.max-w-8xl.mx-auto.relative>div>div.relative>div>div>div.relative.hidden.lg\\:flex.items-center.flex-1.z-20.justify-center button{background-color:#31343c;width:100%;color:#ffffffcc!important;--tw-ring-color: #ffffffcc !important}.dark #navbar>div.relative>div>div.relative,.dark #navbar>div.max-w-8xl.mx-auto.relative>div>div.relative>div>div>div.relative.hidden.lg\\:flex.items-center.flex-1.z-20.justify-center button{background-color:#26262a}#navbar>div.max-w-8xl.mx-auto.relative>div>div.relative>button div{color:#fff!important}#navbar,#navbar>div,#navbar>div>div{overflow:visible!important}.hidden.lg\\:flex.px-12.h-12{position:relative!important;padding-left:1rem!important;padding-right:1rem!important;overflow-x:auto!important;overflow-y:hidden!important;max-width:100vw!important;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(96, 87, 247, 0.6) transparent}.hidden.lg\\:flex.px-12.h-12::-webkit-scrollbar{height:6px}.hidden.lg\\:flex.px-12.h-12::-webkit-scrollbar-track{background:transparent;margin:0 1rem}.hidden.lg\\:flex.px-12.h-12::-webkit-scrollbar-thumb{background:rgba(96, 87, 247, 0.6);border-radius:3px}.hidden.lg\\:flex.px-12.h-12::-webkit-scrollbar-thumb:hover{background:rgba(96, 87, 247, 0.9)}html[data-current-path^=\"/legal\"]:not([data-current-path=\"/legal/agreement\"]):not([data-current-path=\"/legal/dpa\"]):not([data-current-path=\"/legal/dpa-inc\"]):not([data-current-path=\"/legal/dpa-il\"]) #content-area>#header>div>div>:not(h1){display:none!important}.nav-tabs{gap:1rem!important;flex-wrap:nowrap!important;width:max-content!important;min-width:100%!important;padding-left:2rem!important}.nav-tabs::after{content:\"\";min-width:1rem!important;flex-shrink:0!important;display:block!important}.nav-tabs-item{white-space:nowrap!important;flex-shrink:0!important}.nav-scroll-caret-left{background:linear-gradient(\n to right,\n rgba(255, 255, 255, 1) 0%,\n rgba(255, 255, 255, 1) 50%,\n rgba(255, 255, 255, 0) 100%\n )!important;color:#666!important}.nav-scroll-caret-right{background:linear-gradient(\n to left,\n rgba(255, 255, 255, 1) 0%,\n rgba(255, 255, 255, 1) 50%,\n rgba(255, 255, 255, 0) 100%\n )!important;color:#666!important}.dark .nav-scroll-caret-left{background:linear-gradient(to right, #26262a 0%, #26262a 50%, rgba(38, 38, 42, 0) 100%)!important;color:#999!important}.dark .nav-scroll-caret-right{background:linear-gradient(to left, #26262a 0%, #26262a 50%, rgba(38, 38, 42, 0) 100%)!important;color:#999!important}#content blockquote{border-color:#5282ff!important}@media screen and (max-width: 1486px){#navbar>div.max-w-8xl.mx-auto.relative>div>div.relative>div{padding-left:0!important;padding-right:0!important}.homepage_wrapper>div{padding-left:2rem!important;padding-right:2rem!important}}@media screen and (max-width: 1024px){.homepage_wrapper>div{padding-left:0.5rem!important;padding-right:0.5rem!important}}.getting_started_wrapper .card{border-radius:24px;border-width:1px}img.inline{margin:0}img.icon[src*=\"/_assets/\"]{filter:invert(0.1)}.dark img.icon[src*=\"/_assets/\"]{filter:invert(0.96)}img.icon.keep-colors,.dark img.icon.keep-colors{filter:none}img.icon[src*=\"/_assets/sidebar/\"]{filter:brightness(0) invert(0.1)}.dark img.icon[src*=\"/_assets/sidebar/\"]{filter:none}img[src*=\"/_assets/icons/\"]{filter:brightness(0) invert(6%) sepia(58%) saturate(1475%) hue-rotate(195deg) brightness(103%) contrast(91%)}.dark img[src*=\"/_assets/icons/\"]{filter:none}.frame{width:fit-content;margin:auto}@media print{#navbar,#sidebar,#content-side-layout,#footer,#pagination,.feedback-toolbar,.media-print-none{display:none}#content-area{width:100%;margin-left:0;padding-left:.25rem}}.chat-assistant-floating-input{display:none!important}.sticky-table [data-table-wrapper]{--page-padding: 0px}.sticky-table table :is(th,td):first-child{position:sticky;left:0;z-index:1;background:rgb(var(--background-light))}.sticky-table table :is(th,td):first-child,.sticky-table table :is(th,td):first-child *{overflow-wrap:anywhere}html.dark .sticky-table table :is(th,td):first-child{background:rgb(var(--background-dark))}.compact-matrix table{width:max-content;min-width:0}.compact-matrix table :is(th,td){min-width:0;padding:8px;vertical-align:middle}.compact-matrix table :is(th,td):not(:first-child){width:auto;text-align:center;white-space:nowrap}.compact-matrix table :is(th,td):first-child{width:150px;white-space:normal}.compact-matrix table th code{padding-inline:2px}.merged-first-column table tbody tr{border-bottom-width:0}.merged-first-column table tbody td{border-bottom:1px solid rgb(var(--gray-100))}html.dark .merged-first-column table tbody td{border-bottom-color:#94a3b81a}.merged-first-column table tbody tr:has(+tr>td:first-child:empty)>td:first-child{border-bottom-color:transparent}.merged-first-column table :is(th,td):first-child{width:260px}.first-expanded-column table :is(th,td):first-child{width:24%;white-space:normal}"}],"page":{"pagePath":"tunnels/overview","slug":"/tunnels/overview","pageMetadata":{"title":"About Nebius Tunnels","sidebarTitle":"About Nebius Tunnels","description":null,"href":"/tunnels/overview"},"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`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Mermaid,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Mermaid)_missingMdxReference(`Mermaid`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Nebius Tunnels lets you expose a service running on a virtual machine (VM), on your laptop or behind a firewall to the internet without opening inbound firewall ports, assigning a public IP address to the service or configuring DNS and TLS certificates.`}),`\n`,_jsx(Heading,{level:`2`,id:`how-tunnels-work`,children:`How tunnels work`}),`\n`,_jsx(_components.p,{children:`A tunnel consists of:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A tunnel resource in Nebius AI Cloud.`}),`\n`,_jsx(_components.li,{children:`A tunnel agent that runs next to your application.`}),`\n`,_jsx(_components.li,{children:`One or more services in the agent configuration. Each service maps a public tunnel URL to a local HTTP or TCP endpoint.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`The agent opens an outbound TLS connection to a regional Nebius edge endpoint. When a client sends a request to the public tunnel URL, the edge forwards the request back through the existing agent connection. The VM or private network doesn’t need to accept inbound connections from the internet for this traffic.`}),`\n`,_jsx(Mermaid,{chart:`graph LR\n User[Internet user] -->|request| Edge[Nebius edge]\n Edge -->|forwards through tunnel| Agent[Tunnel agent]\n Agent -->|forwards locally| App[Local service]\n Agent -.->|outbound connection| Edge`}),`\n`,_jsx(Heading,{level:`2`,id:`supported-traffic`,children:`Supported traffic`}),`\n`,_jsx(_components.p,{children:`Nebius Tunnels supports:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`HTTP services over HTTP/1.1, including WebSocket upgrade requests.`}),`\n`,_jsxs(_components.li,{children:[`HTTP services over HTTP/2, including gRPC, by setting `,_jsx(_components.code,{children:`protocol: h2`}),` in the agent configuration.`]}),`\n`,_jsx(_components.li,{children:`TCP services.`}),`\n`,_jsx(_components.li,{children:`Multiple services in one tunnel, each with its own service name and public URL.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`The agent-to-edge tunnel connection uses HTTP/2 multiplexing, so multiple client requests can share the same outbound connection from the agent to the edge.`}),`\n`,_jsx(_components.p,{children:`Each public URL uses this format:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://\u003cservice_name>-\u003ctunnel_masked_ID>.tunnel.applications.\u003cregion>.nebius.cloud`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Where:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`service_name`}),` is the `,_jsx(_components.code,{children:`services.name`}),` value from the agent configuration.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`tunnel_masked_ID`}),` is the mask of the tunnel ID without the `,_jsx(_components.code,{children:`applicationtunnel-`}),` prefix and regional routing code. For example, for `,_jsx(_components.code,{children:`applicationtunnel-e00abcdef123456789`}),`, the tunnel ID mask is `,_jsx(_components.code,{children:`abcdef123456789`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`region`}),` is the `,_jsx(_components.a,{href:`/overview/regions`,children:`region`}),` of the project where the tunnel was created, for example `,_jsx(_components.code,{children:`eu-north1`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`In the agent configuration, `,_jsx(_components.code,{children:`services.name`}),` can contain up to 20 characters and must use only lowercase Latin letters and digits (`,_jsx(_components.code,{children:`[a-z0-9]`}),`). Don’t use dashes or dots.`]}),`\n`,_jsx(Heading,{level:`2`,id:`authentication-and-access`,children:`Authentication and access`}),`\n`,_jsxs(_components.p,{children:[`The tunnel agent authenticates with `,_jsx(_components.a,{href:`/iam/index`,children:`Identity and Access Management`}),`. To connect to a tunnel, the service account used by the agent must have the `,_jsx(_components.code,{children:`applicationtunnel.agent`}),` role on that tunnel or on one of its parent resources.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Nebius Tunnels secures the transport between the tunnel agent and Nebius edge, but it doesn’t add user authentication or authorization to your application. Configure access control in the application itself before exposing it through a tunnel.`})}),`\n`,_jsx(_components.p,{children:`The tunnel agent can authenticate as a service account by using:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`An `,_jsx(_components.a,{href:`/iam/service-accounts/authorized-keys`,children:`authorized key pair`}),`. This method works on Compute VMs and other hosts.`]}),`\n`,_jsxs(_components.li,{children:[`Metadata authentication, available on Compute VMs where you `,_jsx(_components.a,{href:`/cli/compute-vm#specifying-the-service-account-on-vm-creation`,children:`specified a service account when creating the VM`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`what’s-next`,children:`What’s next`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/tunnels/quickstart`,children:`Get started with Nebius Tunnels`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/tunnels/create`,children:`Create a tunnel`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/tunnels/connect`,children:`Connect to a tunnel`})}),`\n`]})]})}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":"About Nebius Tunnels","sidebarTitle":"About Nebius Tunnels","description":null,"href":"/tunnels/overview"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How tunnels work","slug":"how-tunnels-work","depth":2,"children":[]},{"title":"Supported traffic","slug":"supported-traffic","depth":2,"children":[]},{"title":"Authentication and access","slug":"authentication-and-access","depth":2,"children":[]},{"title":"What’s next","slug":"what’s-next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/nebius-ai-cloud/15a5fe135c50f620/_assets/js/fix_index.js","/_mintlify/custom/nebius-ai-cloud/031bcfd22bd37d86/_assets/js/nav-tabs-scroll.js","/_mintlify/custom/nebius-ai-cloud/614ea6118f9493e4/_assets/js/onetrust.js","/_mintlify/custom/nebius-ai-cloud/d7115c46a3daa627/_assets/js/reo-dev.js"],"subdomain":"nebius-ai-cloud","siteName":"Nebius AI Cloud","title":"About Nebius Tunnels - Nebius AI Cloud","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T13:12:31.617Z","originalFileLocation":"tunnels/overview.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=\"Nebius AI Cloud\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nebius-ai-cloud/0Ek9sP7Ja4is5z8_/_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=\"/mintlify-assets/_mintlify/favicons/nebius-ai-cloud/0Ek9sP7Ja4is5z8_/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nebius-ai-cloud/0Ek9sP7Ja4is5z8_/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nebius-ai-cloud/0Ek9sP7Ja4is5z8_/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nebius-ai-cloud/0Ek9sP7Ja4is5z8_/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nebius-ai-cloud/0Ek9sP7Ja4is5z8_/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nebius-ai-cloud/0Ek9sP7Ja4is5z8_/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nebius-ai-cloud/0Ek9sP7Ja4is5z8_/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nebius-ai-cloud/0Ek9sP7Ja4is5z8_/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"About Nebius Tunnels - Nebius AI Cloud\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nebius AI Cloud\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.nebius.com/tunnels/overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://nebius-ai-cloud.mintlify.site/_mintlify/api/og/v2?division=Nebius+Tunnels\u0026amp;title=About+Nebius+Tunnels\u0026amp;theme=60ad9497c6ea86508326929d\u0026amp;signature=58392db833a3450bff4cb85f9f8b10afdba18f98d1ba5385166f2e43902a395f\">\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=\"About Nebius Tunnels - Nebius AI Cloud\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nebius-ai-cloud.mintlify.site/_mintlify/api/og/v2?division=Nebius+Tunnels\u0026amp;title=About+Nebius+Tunnels\u0026amp;theme=60ad9497c6ea86508326929d\u0026amp;signature=58392db833a3450bff4cb85f9f8b10afdba18f98d1ba5385166f2e43902a395f\">\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=\"/mintlify-assets/_mintlify/favicons/nebius-ai-cloud/0Ek9sP7Ja4is5z8_/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nebius AI Cloud\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6057f7\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"p7dnMrsuoFlnyF9Oo0Ys0xPbeRCpQ9MedGsgi7nBOaI\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.nebius.com/tunnels/overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/tunnels/overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.nebius.com/#organization\",\"name\":\"Nebius AI Cloud\",\"url\":\"https://docs.nebius.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/nebius-ai-cloud/Ig0U9IUMcvPL0NXJ/_assets/logo/logo.svg?fit=max\u0026auto=format\u0026n=Ig0U9IUMcvPL0NXJ\u0026q=85\u0026s=8dd637468a6b53f6c1af6387d11e76c7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.nebius.com#website\",\"name\":\"Nebius AI Cloud\",\"url\":\"https://docs.nebius.com\",\"publisher\":{\"@id\":\"https://docs.nebius.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.nebius.com/tunnels/overview#webpage\",\"url\":\"https://docs.nebius.com/tunnels/overview\",\"name\":\"About Nebius Tunnels\",\"dateModified\":\"2026-11-06T13:12:31.617Z\",\"isPartOf\":{\"@id\":\"https://docs.nebius.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.nebius.com/tunnels/overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.nebius.com/tunnels/overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Nebius Tunnels\",\"item\":\"https://docs.nebius.com/tunnels/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"About Nebius Tunnels\",\"item\":\"https://docs.nebius.com/tunnels/overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.nebius.com/tunnels/overview#article\",\"headline\":\"About Nebius Tunnels\",\"name\":\"About Nebius Tunnels\",\"url\":\"https://docs.nebius.com/tunnels/overview\",\"mainEntityOfPage\":{\"@id\":\"https://docs.nebius.com/tunnels/overview#webpage\"},\"dateModified\":\"2026-11-06T13:12:31.617Z\",\"publisher\":{\"@id\":\"https://docs.nebius.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.nebius.com#website\"}}]}\u003c/script>","siteName":"Nebius AI Cloud","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"Infrastructure","menu":[{"item":"Compute","pages":[{"title":"Compute","href":"/compute"}]},{"item":"Storage","pages":[{"title":"Storage","href":"/object-storage"}]},{"item":"Network","pages":[{"group":"Virtual Networks","pages":[{"title":"Virtual Networks","sidebarTitle":"Overview","href":"/vpc"},{"title":"About Virtual Networks","sidebarTitle":"About Virtual Networks","href":"/vpc/overview"},{"group":"Networking","pages":[{"title":"Getting network and subnet IDs for Nebius AI Cloud resources","sidebarTitle":"Getting network and subnet IDs","href":"/vpc/networking/resources"},{"title":"Isolating Nebius AI Cloud resources in separate networks","sidebarTitle":"Isolating resources via networks","href":"/vpc/networking/isolation"}]},{"group":"Addressing","pages":[{"title":"Ranges of private IP addresses per region for a default private pool","sidebarTitle":"CIDR blocks per region for a default private pool","mode":"wide","href":"/vpc/addressing/available-addresses"},{"title":"Getting public IPv4 ranges","sidebarTitle":"Getting public IPv4 ranges","href":"/vpc/addressing/public-address-ranges"},{"title":"Allocating custom private addresses to resources","sidebarTitle":"Allocating custom private addresses","href":"/vpc/addressing/custom-private-addresses"},{"title":"Disabling public addresses for a subnet","sidebarTitle":"Disabling public addresses for a subnet","href":"/vpc/addressing/disable-public-addresses"}]},{"group":"Routing","pages":[{"title":"Routing in Nebius AI Cloud","sidebarTitle":"How routing works","href":"/vpc/routing/overview"},{"title":"Managing routing tables and routes","sidebarTitle":"Managing routing tables and routes","href":"/vpc/routing/manage"},{"title":"Setting up a custom NAT gateway for subnets","sidebarTitle":"Setting up a custom NAT gateway","href":"/vpc/routing/custom-nat-gateway"}]},{"group":"DNS","pages":[{"title":"About DNS","sidebarTitle":"About DNS","href":"/vpc/dns/overview"},{"title":"Managing DNS zones","sidebarTitle":"Managing DNS zones","href":"/vpc/dns/manage-zones"},{"title":"Managing DNS records","sidebarTitle":"Managing DNS records","href":"/vpc/dns/manage-records"},{"title":"DNS quotas and constraints","sidebarTitle":"Quotas and constraints","href":"/vpc/dns/resources/quotas-limits"}]},{"group":"Security groups","pages":[{"title":"Security groups in Nebius AI Cloud","sidebarTitle":"How security groups work","href":"/vpc/security-groups/overview"},{"title":"Managing security groups and security rules","sidebarTitle":"Managing security groups and security rules","href":"/vpc/security-groups/manage"}]},{"group":"VPN","pages":[{"title":"Nebius VPN Gateway","sidebarTitle":"Nebius VPN Gateway","href":"/vpc/nebius-vpn-gateway"}]},{"group":"Resources","pages":[{"title":"Virtual Networks quotas and constraints","sidebarTitle":"Quotas and constraints","href":"/vpc/resources/quotas-limits"},{"title":"Pricing in Virtual Networks","sidebarTitle":"Pricing","href":"/vpc/resources/pricing"}]}]},{"group":"Nebius Tunnels","pages":[{"title":"Nebius Tunnels","sidebarTitle":"Overview","description":null,"href":"/tunnels/index"},{"title":"About Nebius Tunnels","sidebarTitle":"About Nebius Tunnels","href":"/tunnels/overview"},{"title":"Getting started with Nebius Tunnels: Connect a VM service to the internet","sidebarTitle":"Getting started","description":null,"href":"/tunnels/quickstart"},{"group":"Managing tunnels","pages":[{"title":"How to create a tunnel in Nebius Tunnels","sidebarTitle":"Creating a tunnel","href":"/tunnels/create"},{"title":"How to connect to a tunnel","sidebarTitle":"Connecting to a tunnel","href":"/tunnels/connect"},{"title":"How to delete a tunnel in Nebius Tunnels","sidebarTitle":"Deleting a tunnel","href":"/tunnels/delete"}]},{"group":"🧑🏫 Tutorials","pages":[{"title":"Connecting to a virtual machine without a public IP address by using Nebius Tunnels","sidebarTitle":"Connecting to a private VM","href":"/tunnels/tutorials/connect-vm"},{"title":"Deploying JupyterLab® on a virtual machine by using Nebius Tunnels","sidebarTitle":"Deploying JupyterLab®","href":"/tunnels/tutorials/jupyterlab"},{"title":"Deploying an LLM on a virtual machine by using Nebius Tunnels","sidebarTitle":"Deploying an LLM","href":"/tunnels/tutorials/llm"},{"title":"Receiving webhooks in a private service by using Nebius Tunnels","sidebarTitle":"Receiving webhooks","href":"/tunnels/tutorials/webhook"}]},{"group":"Resources","pages":[{"title":"Nebius Tunnels limits and constraints","sidebarTitle":"Limits and constraints","href":"/tunnels/resources/quotas-limits"},{"title":"Nebius Tunnels pricing","sidebarTitle":"Pricing","href":"/tunnels/resources/pricing"},{"title":"Nebius Tunnels Agent changelog","sidebarTitle":"Nebius Tunnels Agent changelog","href":"/tunnels/resources/tunnels-agent-changelog"}]}]}]}]},{"tab":"AI services","pages":[{"title":"AI services","href":"/ai-services"}]},{"tab":"Observability","pages":[{"title":"Observability","href":"/observability"}]},{"tab":"Management","pages":[{"title":"Management","href":"/signup-billing"}]},{"tab":"Security and cryptography","pages":[{"title":"Security and cryptography","href":"/security/encryption"}]},{"tab":"Developer tools","pages":[{"title":"Developer tools","href":"/developer-tools"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]},{"tab":"Managed Service for Apache Spark™","hidden":true,"pages":[{"title":"Managed Service for Apache Spark™","href":"/spark"}]},{"tab":"Legal","pages":[{"title":"Legal","href":"/legal"}]}]},"basePath":"","title":"About Nebius Tunnels - Nebius AI Cloud","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":[],"chunks":[]}