阅读了stackoverflow上的现有帖子,并在网上做了一些阅读.在我丢失太多头发之前,我认为是时候发帖了!
我在批处理文件中有以下代码,我在Windows XP SP3下双击运行:
SETLOCAL ENABLEDELAYEDEXPANSION
::Observe variable is not defined
SET test
::Define initial value
SET test = "Two"
::Observe initial value is set
SET test
::Verify if the contents of the variable matches our condition
If "!test!" == "Two" GOTO TWO
::First Place holder
:ONE
::Echo first response
ECHO "One"
::Second Place holder
:TWO
::Echo second response
ECHO "Two"
::Await user input
PAUSE
ENDLOCAL
Run Code Online (Sandbox Code Playgroud)
基本上我试图确定我是否可以使用条件导航我的脚本.很明显,我在变量范围和延迟变量扩展方面遇到了一些问题,但我对自己做错了有点遗憾.
谁能指出我正确的方向?
TL;DR:我想在 K8s 中通过 SSL 直通的 nginx-ingress 控制器设置基于 cookie 的会话关联 - 这可以完成吗?
大家好,
我有一个正在运行的 Azure Kubernetes 服务 (AKS) (1.11.3),并配置了NGINX-Ingress控制器以将请求路由到我的应用程序的 ClusterIP 服务(至少有 2 个正在运行的 Pod)。
我已在入口控制器上成功配置 SSL 直通,以便 TLS 在 Pod 处终止,这样我就可以使用 HTTP2(根据本文)。现在我想设置会话亲和性(使用 Cookie),以便将连接路由到同一 pod 以实现有状态行为(登录到应用程序)。
为此,我尝试在入口对象上使用以下注释:
nginx.ingress.kubernetes.io/affinity: "cookie"
nginx.ingress.kubernetes.io/session-cookie-name: "route"
nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
nginx.ingress.kubernetes.io/session-cookie-hash: "sha1"
Run Code Online (Sandbox Code Playgroud)
但是,我没有看到第一个请求返回的“路由”cookie。我已经解决了此处描述的问题,并确保入口设置正确。然后我在文档中发现了这条消息:
由于 SSL 直通在 OSI 模型 (TCP) 的第 4 层上工作,而不是在第 7 层 (HTTP) 上工作,因此使用 SSL 直通会使 Ingress 对象上设置的所有其他注释无效。
问:这是否意味着无法通过 SSL 直通使用会话亲和性?Ingress 无法识别连接/cookie(因为它是 SSL 加密的)并将其定向到之前关联的 pod?