Traefik背后Tomcat上的Vaadin应用导致会话过期

时间:2018-11-23 08:25:28

标签: vaadin vaadin7 traefik rapidclipse

我在运行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"
################################################################

rules.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的帖子Session Expired on tomcat8 behind apache2 ProxyPass中,似乎添加了 ProxyPassReverseCookiePath 带来了解决方案,但我找不到Traefik的这种选项。

知道我做错了什么吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

Ismail为我解决了这个问题。再次感谢你。

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

sessionCookiePath="/"元素中添加<Context>解决了该问题。结果行为<Context sessionCookiePath="/">