我在运行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的这种选项。
知道我做错了什么吗?
谢谢。
答案 0 :(得分:0)
Ismail为我解决了这个问题。再次感谢你。
问题出在Tomcat的/etc/tomcat/context.xml
文件中。
在sessionCookiePath="/"
元素中添加<Context>
解决了该问题。结果行为<Context sessionCookiePath="/">
。