diff --git a/Dockerfile b/Dockerfile
index 7d2a208..55c33ba 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -8,8 +8,8 @@ LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \
 
 ARG GROUPER_CONTAINER_VERSION
 
-ENV GROUPER_VERSION=4.11.2 \
-    GROUPER_CONTAINER_VERSION=4.11.2 \
+ENV GROUPER_VERSION=4.11.3 \
+    GROUPER_CONTAINER_VERSION=4.11.3 \
     JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto \
     PATH=$PATH:$JAVA_HOME/bin \
     GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF
diff --git a/container_files/grouperWebapp/WEB-INF/classes/log4j2.xml b/container_files/grouperWebapp/WEB-INF/classes/log4j2.xml
index 58a9f28..28368bd 100644
--- a/container_files/grouperWebapp/WEB-INF/classes/log4j2.xml
+++ b/container_files/grouperWebapp/WEB-INF/classes/log4j2.xml
@@ -126,86 +126,107 @@
         <Root level="error">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Root>
         <Logger name="org.apache.catalina" level="info" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_catalina" />__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_catalina"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware" level="warn" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.app.loader.GrouperLoaderLog" level="debug" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_daemon"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_daemon"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.pspng" level="warn" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_pspng"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_pspng"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningObjectLog" level="debug" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.app.syncToGrouper.SyncToGrouperFromSqlDaemon" level="debug" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningLogCommands" level="debug" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.stem.StemViewPrivilegeEsbListener" level="debug" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.stem.StemViewPrivilegeFullDaemonLogic" level="debug" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="org.apache.tools.ant" level="warn" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.util.PerformanceLogger" level="info" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.ws.util.GrouperWsLog" level="off" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_ws"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_ws"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.ws.util.GrouperWsLongRunningLog" level="off" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_ws_longRunning"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_ws_longRunning"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.ui.customUi.CustomUiEngine" level="debug" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.upenn.isc.pennGrouper.o365" level="debug" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.app.remedy.GrouperRemedyLog" level="debug" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.app.remedy.digitalMarketplace.GrouperDigitalMarketplaceLog" level="debug" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouperBox.GrouperBoxLog" level="debug" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouperClient.jdbc.tableSync.GcTableSyncLog" level="debug" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_error"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_error"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
         <Logger name="edu.internet2.middleware.grouper.app.zoom" level="debug" additivity="false">
             __LOGPIPESTART__<AppenderRef ref="logpipe_grouper_provisioning"/>__LOGPIPEEND__
             __FILESTART__<AppenderRef ref="file_grouper_provisioning"/>__FILEEND__
+            __STDERRSTART__<AppenderRef ref="stderr"/>__STDERREND__
         </Logger>
 
         <!--MORELOGGERS-->
diff --git a/container_files/tomcat/conf/server.xml.grouper b/container_files/tomcat/conf/server.xml.grouper
index 30cd465..3417a8b 100644
--- a/container_files/tomcat/conf/server.xml.grouper
+++ b/container_files/tomcat/conf/server.xml.grouper
@@ -173,7 +173,7 @@
 
         <!--GROUPER_TOMCAT_REMOTE_IP_VALVE-->
 
-        <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
+        <!--GROUPER_TOMCAT_REWRITE_VALVE-->
 
         <!-- Access log processes all example.
              Documentation at: /docs/config/valve.html
diff --git a/container_files/tomcat/conf/server.xml.grouper.patch b/container_files/tomcat/conf/server.xml.grouper.patch
index b7c756b..baaeb50 100644
--- a/container_files/tomcat/conf/server.xml.grouper.patch
+++ b/container_files/tomcat/conf/server.xml.grouper.patch
@@ -1,5 +1,5 @@
---- server.xml.original	2023-08-21 10:59:20.000000000 -0400
-+++ server.xml.grouper	2024-01-01 15:43:53.000000000 -0500
+--- server.xml.original	2023-06-27 13:54:24.000000000 -0400
++++ server.xml.grouper	2024-03-17 20:05:53.000000000 -0400
 @@ -66,11 +66,12 @@
           APR (HTTP/AJP) Connector: /docs/apr.html
           Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
@@ -41,7 +41,7 @@
 +
 +        <!--GROUPER_TOMCAT_REMOTE_IP_VALVE-->
 +
-+        <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
++        <!--GROUPER_TOMCAT_REWRITE_VALVE-->
  
          <!-- Access log processes all example.
               Documentation at: /docs/config/valve.html
diff --git a/container_files/usr-local-bin/libraryPrep.sh b/container_files/usr-local-bin/libraryPrep.sh
index 1046c75..c82231f 100644
--- a/container_files/usr-local-bin/libraryPrep.sh
+++ b/container_files/usr-local-bin/libraryPrep.sh
@@ -437,6 +437,10 @@ prep_finishBegin() {
       echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_LOG_TO_HOST=false"
       export GROUPER_LOG_TO_HOST=false
     fi
+    if [ -z "$GROUPER_LOG_TO_STDERR" ] ; then 
+      echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_analyzeOriginalFiles) export GROUPER_LOG_TO_STDERR=false"
+      export GROUPER_LOG_TO_STDERR=false
+    fi
     
     if [ -z "$GROUPER_LOG_TO_PIPE" ] ; then 
       if [ "$GROUPER_LOG_TO_HOST" = "true" ]; then
@@ -490,13 +494,13 @@ prep_finishEnd() {
       export GROUPER_TOMCAT_REMOTE_IP_VALVE=false
     fi
     if [ -z "$GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER" ]; then 
-      if [ "$GROUPER_PROXY_PASS" = "#" ]; then 
+      if [ "$GROUPER_UI" == 'true' ]
     
-        echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=false"
-        export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=false
-      else
         echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=true"
         export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=true
+      else
+        echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=false"
+        export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=false
       
       fi
     
diff --git a/container_files/usr-local-bin/librarySetupFiles.sh b/container_files/usr-local-bin/librarySetupFiles.sh
index 4d6ed33..be4b657 100644
--- a/container_files/usr-local-bin/librarySetupFiles.sh
+++ b/container_files/usr-local-bin/librarySetupFiles.sh
@@ -89,6 +89,27 @@ setupFiles_localLogging() {
     if [ $returnCode != 0 ]; then exit $returnCode; fi
   fi
 
+  if [ "$GROUPER_LOG_TO_STDERR" = "true" ]; then
+    sed -i "s|__STDERRSTART__||g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml
+    returnCode=$?
+    echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__STDERRSTART__||g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?"
+    if [ $returnCode != 0 ]; then exit $returnCode; fi
+
+    sed -i "s|__STDERREND__||g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml
+    returnCode=$?
+    echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__STDERREND__||g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?"
+    if [ $returnCode != 0 ]; then exit $returnCode; fi
+  else
+    sed -i "s|__STDERRSTART__|<!--|g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml
+    returnCode=$?
+    echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__STDERRSTART__|<!--|g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?"
+    if [ $returnCode != 0 ]; then exit $returnCode; fi
+
+    sed -i "s|__STDERREND__|-->|g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml
+    returnCode=$?
+    echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_localLogging) sed -i \"s|__STDERREND__|-->|g\" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml, result: $?"
+    if [ $returnCode != 0 ]; then exit $returnCode; fi
+  fi
   if [ "$GROUPER_LOG_TO_HOST" = "true" ]; then
     sed -i "s|__FILESTART__||g" /opt/grouper/grouperWebapp/WEB-INF/classes/log4j2.xml
     returnCode=$?
diff --git a/container_files/usr-local-bin/librarySetupFilesTomcat.sh b/container_files/usr-local-bin/librarySetupFilesTomcat.sh
index edec6e6..e4c2c7e 100644
--- a/container_files/usr-local-bin/librarySetupFilesTomcat.sh
+++ b/container_files/usr-local-bin/librarySetupFilesTomcat.sh
@@ -21,23 +21,26 @@ setupFilesTomcat() {
 
 setupFilesTomcat_rewriteValve() {
 
-  if [ ! -f /opt/tomcat/conf/Catalina/localhost/rewrite.config ]; then 
+  if [ "$GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER" ] ; then 
     if [ "$GROUPER_UI" = "true" ]; then
-      mv /opt/tomcat/conf/Catalina/localhost/rewrite.config.grouper /opt/tomcat/conf/Catalina/localhost/rewrite.config
-      returnCode=$?
-      echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_rewriteValve) mv /opt/tomcat/conf/Catalina/localhost/rewrite.config.grouper /opt/tomcat/conf/Catalina/localhost/rewrite.config, result: $returnCode"
-      if [ $returnCode != 0 ]; then exit $returnCode; fi
-      
-      sed -i "s|__CONTEXT__|$GROUPER_TOMCAT_CONTEXT|g" /opt/tomcat/conf/Catalina/localhost/rewrite.config 
-      returnCode=$?
-      echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_rewriteValve) sed -i \"s|__CONTEXT__|$GROUPER_TOMCAT_CONTEXT|g\" /opt/tomcat/conf/Catalina/localhost/rewrite.config, result: $returnCode"
-      if [ $returnCode != 0 ]; then exit $returnCode; fi
+      if [ ! -f /opt/tomcat/conf/Catalina/localhost/rewrite.config ] ; then
+        mv /opt/tomcat/conf/Catalina/localhost/rewrite.config.grouper /opt/tomcat/conf/Catalina/localhost/rewrite.config
+        returnCode=$?
+        echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_rewriteValve) mv /opt/tomcat/conf/Catalina/localhost/rewrite.config.grouper /opt/tomcat/conf/Catalina/localhost/rewrite.config, result: $returnCode"
+        if [ $returnCode != 0 ]; then exit $returnCode; fi
       
-    else
-      touch /opt/tomcat/conf/Catalina/localhost/rewrite.config
+        sed -i "s|__CONTEXT__|$GROUPER_TOMCAT_CONTEXT|g" /opt/tomcat/conf/Catalina/localhost/rewrite.config 
+        returnCode=$?
+        echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_rewriteValve) sed -i \"s|__CONTEXT__|$GROUPER_TOMCAT_CONTEXT|g\" /opt/tomcat/conf/Catalina/localhost/rewrite.config, result: $returnCode"
+        if [ $returnCode != 0 ]; then exit $returnCode; fi
+
+      fi      
+
+      sed -i 's|<!--GROUPER_TOMCAT_REWRITE_VALVE-->|<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />|g' /opt/tomcat/conf/server.xml 
       returnCode=$?
-      echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_rewriteValve) touch /opt/tomcat/conf/Catalina/localhost/rewrite.config, result: $returnCode"
+      echo "grouperContainer; INFO: (librarySetupFilesTomcat.sh-setupFilesTomcat_rewriteValve) Apply remote IP valve: sed -i 's|<!--GROUPER_TOMCAT_REWRITE_VALVE-->|<Valve className=\"org.apache.catalina.valves.rewrite.RewriteValve\" />|g' /opt/tomcat/conf/server.xml, result: $returnCode"
       if [ $returnCode != 0 ]; then exit $returnCode; fi
+
     fi
   
   fi