{"id":5828,"date":"2025-11-06T12:19:54","date_gmt":"2025-11-06T20:19:54","guid":{"rendered":"https:\/\/portal.staylinked.com\/sl\/kb\/?post_type=ht_kb&#038;p=5828"},"modified":"2026-03-06T11:50:00","modified_gmt":"2026-03-06T19:50:00","slug":"staylinked-use-with-zscaler","status":"publish","type":"ht_kb","link":"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/staylinked-use-with-zscaler\/","title":{"rendered":"StayLinked use with ZScaler"},"content":{"rendered":"\n<p>ZScaler offers an option for a health check or health reporting function the sends an unsolicited packet to the server when traffic is first detected. This packet can inject itself in the middle of the client-server handshake, causing the server to reject the connection because the packet does not contain the proper handshake data.<\/p>\n\n\n\n<p>This issue can be validated in the StayLinkedManager.log file, which records incoming connection requests. The entry will show:<\/p>\n\n\n\n<ul><li>Invalid request from DeviceIP:Port &#8211; '[empty udp packet]'<\/li><\/ul>\n\n\n\n<p>The option appears in the ZScaler configuration options as something like this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"274\" height=\"67\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2025\/11\/image.png\" alt=\"\" class=\"wp-image-5829\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2025\/11\/image.png 274w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2025\/11\/image-50x12.png 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2025\/11\/image-60x15.png 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2025\/11\/image-100x24.png 100w\" sizes=\"(max-width: 274px) 100vw, 274px\" \/><\/figure>\n\n\n\n<p>Be sure to disable this option for use with StayLinked.<\/p>\n\n\n\n<h2>One-to-One NAT Support<\/h2>\n\n\n\n<p>Any devices that are directed to an address that forwards packets to the StayLinked Server will require a One-to-One NAT entry. This simple configuration can be found in the Administrator under Server Configuration > Server Settings.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"504\" height=\"566\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2026\/03\/image.png\" alt=\"\" class=\"wp-image-5932\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2026\/03\/image.png 504w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2026\/03\/image-267x300.png 267w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2026\/03\/image-45x50.png 45w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2026\/03\/image-53x60.png 53w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2026\/03\/image-89x100.png 89w\" sizes=\"(max-width: 504px) 100vw, 504px\" \/><\/figure>\n\n\n\n<p>This requires two addresses in the dialogue, the address the devices are pointing to and the actual address of the StayLinked Server machine. The Server process will attempt to open a port on the address the devices connect to, if this is a router or appliance, the Server process will be unable to open a port on the remote address and the handshake will fail. This configuration allows the server to replace the Client's Server Address value with an address owned by the machine hosting StayLinked. This is required for any external connection that is utilizing port forwarding.<\/p>\n\n\n\n<p>More details can be found <strong><a href=\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/err-host-timeout\/#special-network-configurations\">HERE<\/a><\/strong> regarding customer network configurations.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ZScaler offers an option for a health check or health reporting function the sends an unsolicited packet to the server when traffic is first detected. This packet can inject itself in the middle of the client-server handshake, causing the server to reject the connection because the packet does not contain&#8230;<\/p>\n","protected":false},"author":3,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":[],"ht-kb-category":[59],"ht-kb-tag":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>StayLinked use with ZScaler &ndash; StayLinked<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.staylinked.com\/knowledge-base\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"StayLinked use with ZScaler &ndash; StayLinked\" \/>\n<meta property=\"og:description\" content=\"ZScaler offers an option for a health check or health reporting function the sends an unsolicited packet to the server when traffic is first detected. This packet can inject itself in the middle of the client-server handshake, causing the server to reject the connection because the packet does not contain...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/staylinked-use-with-zscaler\/\" \/>\n<meta property=\"og:site_name\" content=\"StayLinked\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-06T19:50:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2025\/11\/image.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/#website\",\"url\":\"https:\/\/portal.staylinked.com\/sl\/kb\/\",\"name\":\"StayLinked Knowledge Base\",\"description\":\"Partner Portal Resources and Support\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/portal.staylinked.com\/sl\/kb\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/staylinked-use-with-zscaler\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2025\/11\/image.png\",\"contentUrl\":\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2025\/11\/image.png\",\"width\":274,\"height\":67},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/staylinked-use-with-zscaler\/#webpage\",\"url\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/staylinked-use-with-zscaler\/\",\"name\":\"StayLinked use with ZScaler &ndash; StayLinked\",\"isPartOf\":{\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/staylinked-use-with-zscaler\/#primaryimage\"},\"datePublished\":\"2025-11-06T20:19:54+00:00\",\"dateModified\":\"2026-03-06T19:50:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/staylinked-use-with-zscaler\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/staylinked-use-with-zscaler\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/staylinked-use-with-zscaler\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/portal.staylinked.com\/sl\/kb\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Articles\",\"item\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"StayLinked use with ZScaler\"}]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/ht-kb\/5828"}],"collection":[{"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/comments?post=5828"}],"version-history":[{"count":3,"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/ht-kb\/5828\/revisions"}],"predecessor-version":[{"id":5934,"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/ht-kb\/5828\/revisions\/5934"}],"wp:attachment":[{"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/media?parent=5828"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/ht-kb-category?post=5828"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/ht-kb-tag?post=5828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}