Traefik粘性会话不在码头工人群中工作

时间:2017-07-15 09:41:59

标签: session cookies docker-swarm traefik

我在Traefik反向代理中遇到问题:它使用自己的cookie来存储后端服务器的IP地址,但有时这不能正常工作,因为cookie的路径不是'/',而是使用网页默认为例如'/myapp/page'

我的问题是该应用程序还使用了其他路径,例如'/myapp/api',但它被路由到另一个实例。

由于它是遗留应用程序,因此无法将会话数据存储在其他外部会话存储中。我使用docker swarm来管理docker容器。

如何在Traefik中设置cookie的路径?

1 个答案:

答案 0 :(得分:1)

目前,您无法自定义Cookie路径 - Traefik目前根本没有设置它(a known issue)。

始终设置根路径(<!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <style> #imageholder:hover { cursor: crosshair; } </style> <style> article, aside, figure, footer, header, hgroup, menu, nav, section { display: block; } #imageholder div { display: none; background-color: black; position: absolute; } #imageholder { position: relative; display: inline-block; overflow: hidden; } #vertical { width: 2.5px; height: 100%; } #horizontal { width: 100%; height: 2.5px; } </style> </head> <body> <h1>Some Text</h1> <h2>Some other text</h2> <div id="imageholder"> <div id="horizontal"></div> <div id="vertical"></div> <img src="http://i.imgur.com/dRUn4ip.png"> </div> <script class="jsbin" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> </div> <script type="text/javascript"> $('#imageholder img').on('click', null, [$('#horizontal'), $('#vertical')], function(e) { e.data[1].css('left', e.offsetX == undefined ? e.originalEvent.layerX : e.offsetX); e.data[0].css('top', e.offsetY == undefined ? e.originalEvent.layerY : e.offsetY); $('#imageholder').click(function(event) { var hor = event.offsetX + 4.15, ver = event.offsetY + 4; $(".marker").remove(); $("body").append( $('<div class="marker" style="border-radius: 25px;"></div>').css({ position: 'absolute', top: ver + 'px', left: hor + 'px', width: '10px', height: '10px', background: '#5b5e5f' }) ); }); e.data[0].show(); e.data[1].show(); $(document).ready(function() { $('#imageholder').mouseover(function() { $(".marker").css("box-shadow", "0 0 0 3px rgba(0, 0, 0, 0.5)"); }); $('#imageholder').mouseout(function() { $(".marker").css("box-shadow", "none"); }); }); }); </script> </body> </html> )和/或确定前端路径的路径方向considerations。如果您觉得Traefik在这方面缺少定制需求,请随意加入现有问题或创建一个新问题。