{"id":75624,"date":"2020-01-20T11:20:09","date_gmt":"2020-01-20T05:50:09","guid":{"rendered":"https:\/\/www.vskills.in\/certification\/tutorial\/?p=75624"},"modified":"2024-04-12T14:33:50","modified_gmt":"2024-04-12T09:03:50","slug":"using-the-ssl-for-session-tracking-in-your-application","status":"publish","type":"page","link":"https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/","title":{"rendered":"Using the SSL for session tracking in your application"},"content":{"rendered":"<p>This is a new feature in the Servlet 3.0 specification. Because it uses the SSL session ID associated with the physical client-server connection there are some limitations. They are:<\/p>\n<ul>\n<li>Tomcat must have a connector with the attribute isSecure set to true.<\/li>\n<li>If SSL connections are managed by a proxy or a hardware accelerator they must populate the SSL request headers so that the SSL session ID is visible to Tomcat.<\/li>\n<li>If Tomcat terminates the SSL connection, it will not be possible to use session replication as the SSL session IDs will be different on each node.<\/li>\n<\/ul>\n<p>To enable SSL session tracking you need to use a context listener to set the tracking mode for the context to be just SSL (if any other tracking mode is enabled, it will be used in preference). It might look something like:<\/p>\n<p>package org.apache.tomcat.example;<\/p>\n<p>&nbsp;<\/p>\n<p>import java.util.EnumSet;<\/p>\n<p>&nbsp;<\/p>\n<p>import javax.servlet.ServletContext;<\/p>\n<p>import javax.servlet.ServletContextEvent;<\/p>\n<p>import javax.servlet.ServletContextListener;<\/p>\n<p>import javax.servlet.SessionTrackingMode;<\/p>\n<p>&nbsp;<\/p>\n<p>public class SessionTrackingModeListener implements ServletContextListener {<\/p>\n<p>&nbsp;<\/p>\n<p>@Override<\/p>\n<p>public void contextDestroyed(ServletContextEvent event) {<\/p>\n<p>\/\/ Do nothing<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n<p>@Override<\/p>\n<p>public void contextInitialized(ServletContextEvent event) {<\/p>\n<p>ServletContext context = event.getServletContext();<\/p>\n<p>EnumSet&lt;SessionTrackingMode&gt; modes =<\/p>\n<p>EnumSet.of(SessionTrackingMode.SSL);<\/p>\n<p>&nbsp;<\/p>\n<p>context.setSessionTrackingModes(modes);<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n<p>}<\/p>\n<p>SSL session tracking is implemented for the BIO and NIO connectors. It is not yet implemented for the APR connector.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a new feature in the Servlet 3.0 specification. Because it uses the SSL session ID associated with the physical client-server connection there are some limitations. They are: Tomcat must have a connector with the attribute isSecure set to true. If SSL connections are managed by a proxy or a hardware accelerator they must&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[8678],"tags":[8751],"class_list":["post-75624","page","type-page","status-publish","hentry","category-tomcat","tag-using-the-ssl-for-session-tracking-in-your-application"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Using the SSL for session tracking in your application - Tutorial<\/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.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using the SSL for session tracking in your application - Tutorial\" \/>\n<meta property=\"og:description\" content=\"This is a new feature in the Servlet 3.0 specification. Because it uses the SSL session ID associated with the physical client-server connection there are some limitations. They are: Tomcat must have a connector with the attribute isSecure set to true. If SSL connections are managed by a proxy or a hardware accelerator they must...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/\" \/>\n<meta property=\"og:site_name\" content=\"Tutorial\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/vskills.in\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-12T09:03:50+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/\",\"name\":\"Using the SSL for session tracking in your application - Tutorial\",\"isPartOf\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\"},\"datePublished\":\"2020-01-20T05:50:09+00:00\",\"dateModified\":\"2024-04-12T09:03:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using the SSL for session tracking in your application\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"name\":\"Tutorial\",\"description\":\"Vskills - A initiative in elearning and certification\",\"publisher\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\",\"name\":\"Vskills\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"contentUrl\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"width\":73,\"height\":55,\"caption\":\"Vskills\"},\"image\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/vskills.in\/\",\"https:\/\/x.com\/vskills_in\",\"https:\/\/www.linkedin.com\/company-beta\/1371554\/\",\"https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Using the SSL for session tracking in your application - Tutorial","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/","og_locale":"en_US","og_type":"article","og_title":"Using the SSL for session tracking in your application - Tutorial","og_description":"This is a new feature in the Servlet 3.0 specification. Because it uses the SSL session ID associated with the physical client-server connection there are some limitations. They are: Tomcat must have a connector with the attribute isSecure set to true. If SSL connections are managed by a proxy or a hardware accelerator they must...","og_url":"https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/","og_site_name":"Tutorial","article_publisher":"https:\/\/www.facebook.com\/vskills.in\/","article_modified_time":"2024-04-12T09:03:50+00:00","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/","name":"Using the SSL for session tracking in your application - Tutorial","isPartOf":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website"},"datePublished":"2020-01-20T05:50:09+00:00","dateModified":"2024-04-12T09:03:50+00:00","breadcrumb":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/using-the-ssl-for-session-tracking-in-your-application\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vskills.in\/certification\/tutorial\/"},{"@type":"ListItem","position":2,"name":"Using the SSL for session tracking in your application"}]},{"@type":"WebSite","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","name":"Tutorial","description":"Vskills - A initiative in elearning and certification","publisher":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization","name":"Vskills","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","contentUrl":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","width":73,"height":55,"caption":"Vskills"},"image":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/vskills.in\/","https:\/\/x.com\/vskills_in","https:\/\/www.linkedin.com\/company-beta\/1371554\/","https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw"]}]}},"_links":{"self":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/75624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/comments?post=75624"}],"version-history":[{"count":3,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/75624\/revisions"}],"predecessor-version":[{"id":76447,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/75624\/revisions\/76447"}],"wp:attachment":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/media?parent=75624"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/categories?post=75624"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/tags?post=75624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}