当前位置: 首页 > 知识库问答 >
问题:

Tomcat上的Vaadin应用程序在会话过期的Traefik结果后面

秦皓君
2023-03-14

我在运行的Tomcat服务器上有一个小型Vaadin/RapidClipse应用程序。作为反向代理,我使用TraefikV1.7.4。如果我直接通过http://159.69.121.213:8080/testtraefik/连接到服务器,一切正常。

http://159.69.121.213:8080/testtraefik/是公共的,您可以直接使用它进行测试。

如果我通过mycob.int.yyyy.com连接,站点会被加载,但立即显示为“会话过期”。

traefik.toml

################################################################
# Global configuration
################################################################
logLevel = "DEBUG"
defaultEntryPoints = ["http", "https"]
################################################################
# Entrypoints configuration
################################################################
[entryPoints]
    [entryPoints.http]
    address = ":80"
      [entryPoints.http.redirect]
        entryPoint = "https"
    [entryPoints.https]
    address = ":443"
      [entryPoints.https.tls]
        [[entryPoints.https.tls.certificates]]
          certFile = "/etc/letsencrypt/live/int.yyyy.com/fullchain.pem"
          keyFile = "/etc/letsencrypt/live/int.yyyy.com/privkey.pem"
[file]
filename = "./rules.toml"
watch = true
################################################################
# Traefik logs configuration
################################################################
[traefikLog]
 filePath = "log/traefik.log"
################################################################
# Access logs configuration
################################################################
[accessLog]
 filePath = "/path/to/log/log.txt"
################################################################

rule.toml

[frontends]
  [frontends.mycob2]
    entrypoints = ["https"]
    backend = "mycob"
    passHostHeader = true
    [frontends.mycob2.routes.all]
       rule = "Host:mycob.int.yyyy.com;AddPrefix:/TestTraefik"

[backends]
  [backends.mycob]
    [backends.mycob.servers.tomcat]
        url = "http://159.69.121.213:8080"

我能想像出问题来自推送连接。在带有Apache代理的apache2 ProxyPass后面的tomcat8上过期的post会话中,添加ProxyPassReverseCookiePath似乎带来了解决方案,但我找不到Traefik的这样一个选项。

共有1个答案

舒浩邈
2023-03-14

伊斯梅尔帮我解决了这个问题。再次感谢你。

问题出现在Tomcat的/etc/tomcat/context.xml文件中。

SessionCookiePath=“/”添加到 元素解决了这个问题。结果行是

 类似资料:
  • 我在Tomcat7中有一个web应用程序,它将会话中的用户信息作为DTO对象保存。我还为我的项目启用了Spring Security性,如果用户没有会话,它会自动将用户重定向到登录页面。 如果我登录到应用程序一次,然后在Eclipse中重新启动Tomcat,会发生的情况是,我的会话被冲出,但cookie没有运行。 Edit:尽管Firefox说,但如果关闭并重新启动Firefox,cookie仍然

  • apache2启用了mod_proxy、mod_proxy_http和mod_proxy_connect,web.xml中的会话超时为30分钟。 编辑:忘了提:我的应用程序正在使用@Push(vaadin特性)

  • 问题内容: Tomcat5.5上部署的Web应用程序的默认会话超时是多少?它是特定于浏览器的吗?在我的Web应用程序中,默认超时没有在代码中或代码中提及。 问题答案: 打开并找到这个 所有Web应用程序都隐式继承自此默认Web描述符。您可以覆盖session-config以及在web.xml中定义的其他设置。 这实际上来自我的Tomcat 7(Windows),但我认为5.5 conf差别不大

  • 部署在Tomcat5.5上的Web应用程序的默认会话超时是多少?它是浏览器特定的吗?在我的Web应用程序中,默认超时在和代码中都没有提到。

  • 问题内容: 我在我的应用程序中使用Spring安全功能,但是我发现,当会话过期时,所有请求ajax返回页面login.jsp(不重定向,在http响应中,它放置所有html内容)即登录页面我的webapp。我在应用程序中使用了很多ajax请求,目标是返回某些错误代码,例如510,而不是登录页面。 没有invalid-session-url,我试图使invalid-session-url =“”,不

  • 问题内容: 运行Tomcat(7.0.28)的Java Web应用程序会定期变得无响应。我希望对可能的罪魁祸首(同步?)提出一些建议,以及一些建议的工具,以收集有关崩溃期间发生的事情的更多信息。我积累的一些事实: 当Web应用程序冻结时,tomcat继续将请求线程送入应用程序,但该应用程序不会释放它们。线程池已满(当前为250),然后后续请求立即失败。在正常操作期间,活动线程永远不会超过2或3。