首页 > 解决方案 > Traefik 背后的 Tomcat 上的 Vaadin 应用程序导致会话过期

问题描述

我在 Tomcat 服务器上运行了一个小型 Vaadin/Rapidclipse 应用程序。作为反向代理,我使用 Traefik v1.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"
################################################################

规则.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"

我可以想象问题来自PUSH连接。在Apache Proxy后面的 apache2 ProxyPass 后面的 tomcat8 上的 Session Expired帖子中,似乎添加ProxyPassReverseCookiePath带来了解决方案,但我找不到 Traefik 这样的选项。

知道我做错了什么吗?

先感谢您。

标签: vaadinvaadin7traefikrapidclipse

解决方案


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

问题出在/etc/tomcat/context.xmlTomcat的文件中。

添加sessionCookiePath="/"<Context>元素解决了这个问题。结果行是<Context sessionCookiePath="/">.


推荐阅读