diff --git a/src/main/java/org/codelibs/fess/helper/ViewHelper.java b/src/main/java/org/codelibs/fess/helper/ViewHelper.java
index 0639aef7c53b700f779cf7ae3e8e4815747e013e..87b19729e3c7f5ad78d279c135e637f6702f82cf 100644
--- a/src/main/java/org/codelibs/fess/helper/ViewHelper.java
+++ b/src/main/java/org/codelibs/fess/helper/ViewHelper.java
@@ -38,6 +38,8 @@ import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 import javax.annotation.PostConstruct;
+import javax.servlet.ServletContext;
+import javax.servlet.SessionTrackingMode;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
@@ -145,6 +147,9 @@ public class ViewHelper {
         highlightTagPost = fessConfig.getQueryHighlightTagPost();
         highlightedFields = fessConfig.getQueryHighlightContentDescriptionFieldsAsArray();
         fessConfig.getQueryHighlightTerminalChars().codePoints().forEach(hihglightTerminalCharSet::add);
+        final ServletContext servletContext = ComponentUtil.getComponent(ServletContext.class);
+        servletContext.setSessionTrackingModes(fessConfig.getSessionTrackingModesAsSet().stream().map(s -> SessionTrackingMode.valueOf(s))
+                .collect(Collectors.toSet()));
     }
 
     public String getContentTitle(final Map<String, Object> document) {
diff --git a/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java b/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java
index de51ffe766d0137401bf7ec50328243c4a014c3e..d25c0cc9cadbc7edfb6f795a8b71515ff3ad9996 100644
--- a/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java
+++ b/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java
@@ -854,6 +854,9 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
     /** The key of the configuration. e.g. FES */
     String COOKIE_REMEMBER_ME_HARBOR_KEY = "cookie.remember.me.harbor.key";
 
+    /** The key of the configuration. e.g. cookie */
+    String SESSION_TRACKING_MODES = "session.tracking.modes";
+
     /** The key of the configuration. e.g. 25 */
     String PAGING_PAGE_SIZE = "paging.page.size";
 
@@ -4043,6 +4046,13 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
      */
     String getCookieRememberMeHarborKey();
 
+    /**
+     * Get the value for the key 'session.tracking.modes'. <br>
+     * The value is, e.g. cookie <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getSessionTrackingModes();
+
     /**
      * Get the value for the key 'paging.page.size'. <br>
      * The value is, e.g. 25 <br>
@@ -7441,6 +7451,10 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
             return get(FessConfig.COOKIE_REMEMBER_ME_HARBOR_KEY);
         }
 
+        public String getSessionTrackingModes() {
+            return get(FessConfig.SESSION_TRACKING_MODES);
+        }
+
         public String getPagingPageSize() {
             return get(FessConfig.PAGING_PAGE_SIZE);
         }
@@ -8823,6 +8837,7 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
             defaultMap.put(FessConfig.COOKIE_DEFAULT_EXPIRE, "3600");
             defaultMap.put(FessConfig.COOKIE_ETERNAL_EXPIRE, "86400");
             defaultMap.put(FessConfig.COOKIE_REMEMBER_ME_HARBOR_KEY, "FES");
+            defaultMap.put(FessConfig.SESSION_TRACKING_MODES, "cookie");
             defaultMap.put(FessConfig.PAGING_PAGE_SIZE, "25");
             defaultMap.put(FessConfig.PAGING_PAGE_RANGE_SIZE, "5");
             defaultMap.put(FessConfig.PAGING_PAGE_RANGE_FILL_LIMIT, "true");
diff --git a/src/main/java/org/codelibs/fess/mylasta/direction/FessProp.java b/src/main/java/org/codelibs/fess/mylasta/direction/FessProp.java
index e360222975af2bf145d83903609118005a89156b..eef4f6ee149dd8ad8255e192d312e04067b661d6 100644
--- a/src/main/java/org/codelibs/fess/mylasta/direction/FessProp.java
+++ b/src/main/java/org/codelibs/fess/mylasta/direction/FessProp.java
@@ -1992,4 +1992,11 @@ public interface FessProp {
 
     }
 
+    String getSessionTrackingModes();
+
+    default Set<String> getSessionTrackingModesAsSet() {
+        return split(getSessionTrackingModes(), ",")
+                .get(stream -> stream.map(s -> s.trim().toUpperCase(Locale.ENGLISH)).collect(Collectors.toSet()));
+    }
+
 }
diff --git a/src/main/resources/fess_config.properties b/src/main/resources/fess_config.properties
index dd6dc0992f7131717f12c8ebd9789405b12d8eb4..588e27b2b4046b0a9978c556ff761d35f3faa530 100644
--- a/src/main/resources/fess_config.properties
+++ b/src/main/resources/fess_config.properties
@@ -457,6 +457,8 @@ cookie.eternal.expire = 86400
 # The cookie key of remember-me for Fess
 cookie.remember.me.harbor.key = FES
 
+session.tracking.modes=cookie
+
 # ----------------------------------------------------------
 #                                                     Paging
 #                                                     ------