问题标签 [netscaler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
163 浏览

docker - 无法通过 URL 访问 Web 应用程序。从 Netscaler 到应用服务器的 SSL 连接失败

概述
我在 3 台服务器机器 A、B 和 C(读取容器)上构建并部署了一个 dockerized springboot 应用程序,并在端口 8080 上公开了应用程序。

但无法通过 url 访问(Netscaler SSL 连接到端口 8080 的服务器失败。)但是,如果我在 Netscaler 中关闭 SSL,我可以连接

设置
a) 我为 3 个服务器获得了 3 个 SSL 证书。我的前端 docker 文件如下

我构建了这个 docker 文件,部署并暴露在 8080 端口上。
当我尝试通过 Netscaler 访问时,我收到错误消息HTTP/1.1 503 Service Unavailable。但是如果我尝试使用服务器 A:8080/app 访问应用程序,那么它工作正常。

现在当我去网络团队时,他们快速检查并告诉我

“Netscaler 报告它无法联系端口 8080 上的 appserver* 服务器。当我从 SSL 监视器切换到 TCP 监视器时,它会连接。如果启用了 SSL,那么可能是配置的密码有问题。”

我检查了 SSL 证书、密码,一切似乎都是正确的。我现在被困住了。

更新 1

我要求网络团队在 Netscaler 中关闭 SSL,然后我可以使用 URL 导航到应用程序。

因此,在某处确认 SSL 握手有错误。我假设如果证书已损坏或我输入了错误的密码,那么当我使用 servername:8080/Myapp 导航到应用程序时,我将不会收到此“证书有效消息”。

证书有效

任何想法或任何人以前遇到过这个问题?
提前致谢。

0 投票
1 回答
2645 浏览

php - Unknown prepared statement handler given to mysqld_stmt_execute

Having an issue with prepared statement where no results are returned. Upon examining MySql's general query log, I can see where the connection is being made, but there never appears to be a query executed.

After adding mysqli_report(MYSQLI_REPORT_ALL), the following error message is returned:

The following is the code executing the prepared statement:

Has anyone else run into this issue? It seems rather odd.

MySQL Version: 5.6

PHP Version: 7

Also another useful piece of information would be that we're using netscaler which acts as a proxy between our app servers and database servers. I'm inclined to believe this might be where the hangup is happening.

EDIT

Confirmed this is in relation to our netscaler proxy as connecting app server directly to db server resolves the issue. Will post solution once cause determined.

0 投票
0 回答
501 浏览

iis-8 - IIS 在“空闲连接超时”上发送 RST 标志

对间歇性连接问题进行故障排除时,我们注意到“空闲连接超时”(默认 120 秒)上的 IIS 8.5 正在向负载均衡器发送 RST 标志而不是 FIN 标志。

  1. 这是 IIS 在空闲超时时发送 RST 标志的标准行为吗?

  2. “供应商应用程序”->“负载均衡器 Netscalar”->“IIS”

    我们面临的问题是,当 IIS 在空闲超时时向负载均衡器发送 RST 标志时,负载均衡器没有将其传达给发出请求的“供应商应用程序”。

因此,当连接 b/w LB 和 IIS 关闭时,连接 b/w vendor app 和 LB 仍处于已建立状态,这似乎导致了间歇性连接问题(目标服务器无法响应)。

0 投票
0 回答
426 浏览

cryptography - Citrix Netscaler cli 选项中的 Passcrypt 是什么?

我正在通过 Citrix Netscaler 文档更新 Netscaler 的证书,因此它使用 Passcrypt 作为私钥的参数,但没有提到它是如何生成的以及它是如何在 Netscaler 上使用的,所以有人遇到同样的问题或有任何想法吗关于它?

文档:https ://developer-docs.citrix.com/projects/netscaler-command-reference/en/10.5/ssl/ssl-certkey/ssl-certkey/

0 投票
2 回答
1597 浏览

regex - RegEx 匹配不在我的域中的 URL

我正在尝试使用重写策略设置我的 Netscaler 设备。我的要求之一是用主页 URL 替换任何非域 URL...也就是说,我希望 Netscaler 用主页 URL 替换从设备后面提供的页面上的所有外部链接(例如:https ://my.domain.edu)。我尝试配置的重写策略类型使用符合 PCRE 的正则表达式引擎来查找网页上的特定文本(可能有多个匹配项)。

好的链接:

坏链接(应替换为主页 URL):

我目前有这种模式:

根据 Netscaler 的 RegEx 评估工具,它匹配上面的坏链接,不匹配好的链接,所以它似乎正在工作......事实上,当我在测试页面上运行它时,Netscaler 找到我所有的 URL想要替换并单独留下好的 URL。

问题是 Netscaler 没有按照我想要的方式替换 URL:它用主页 URL 替换 (https?://) 组,但保留了错误 URL 的剩余部分。例如,它将http://www.google.com替换为: https ://my.domain.eduwww.google.com

我可以配置重写策略来替换特定的 URL(例如https://www.google.com),所以我知道该机制有效。显然,这不适用于一般情况。

我尝试将整个正则表达式括在括号中,但这并没有改变任何东西。

可以为一般情况编写正则表达式,以匹配所有不属于我的域的整个 URL?

提前感谢您的帮助!

0 投票
3 回答
513 浏览

apache - Apache ReverseProxy Netscaler Gateway 中止请求,因为 Set-Cookie 中的字符无效

我有一个 apache,它作为 Netscale 网关的反向代理。有时它可以工作,但在许多情况下,请求以 500 结束。日志总是给出相同的错误类型:

我认为这是 cookie 值中的反斜杠,因为不允许使用反斜杠。apache 可以跳过对此的验证,还是我可以编写规则将 cookie 值重写为 url-encoding\utf-8... 值?

我的配置:

0 投票
2 回答
252 浏览

netscaler - Netscaler ADC 设置计划清除持久性

有没有办法在运行固件 11.0 的 Netscaler VPX 上设置某种类型的 CRON 作业以每天自动清除持久性会话记录?

https://docs.citrix.com/en-us/netscaler/12/load-balancing/load-balancing-persistence/clearing-persistence.html

0 投票
1 回答
260 浏览

c# - Owin Oauth 偶尔会在负载平衡环境中重定向过多

我在我的带有 Owin Oauth 身份验证/授权的 asp.net MVC 应用程序上出现了一个奇怪的问题,而它是负载平衡的。此应用程序充当 Oauth 端点,我们的客户端应用程序使用 Dotnetopenauth 进行连接。单个服务器部署完全没有问题。我尝试了一些互联网上可用的修复程序——Kentor cookie saver、systemwebcookiemanager、会话启动事件等。但没有任何帮助。我的应用程序每次都使用 HTTPS,我们使用 Citrix netscaler 进行负载平衡、SsL 卸载。请帮忙。

0 投票
0 回答
738 浏览

kubernetes - 如何为 Confluent Rest-Proxy 配置负载均衡器粘性

我在 Kubernetes 中设置了 3 个 Rest-Proxy(Kafka-rest) 实例。

https://docs.confluent.io/current/kafka-rest/docs/index.html

https://github.com/confluentinc/kafka-rest

我在部署之上添加了一个 NetScaler Ingress。

我在 Citrix NetScaler 文档中看到 NetScaler 为会话粘性提供了持久性配置。

NetScaler 持久性的 Citrix Docs

在 Kafka-Rest 文档中提到:

REST 代理集群和负载平衡 - REST 代理旨在支持多个实例一起运行以分散负载,并且只要实例配置正确,就可以安全地运行在各种负载平衡机制(例如循环 DNS、发现服务、负载平衡器)之后.

尽管代理没有任何持久状态,但它是有状态的,因为消费者实例与特定的代理实例相关联。

但是,我已经尝试了配置中所有可能的组合。但是我在 Rest-Proxy 中的一些数据消费请求仍然失败。

我收到 HTTP 404 错误。

有人可以指导我,Rest-Proxy 需要什么样的会话粘性以及如何在 kubernetes 的 NetScaler 中实现它。

更新:

我还找到了这个文本,它指出我们应该使用创建消费者休息调用返回的“base_uri” 。现在我的问题是,我们是否应该在剩余的调用中明确使用它来消耗数据而不是负载均衡器 URL,或者是否应该在负载均衡器中配置粘性以考虑返回的 URL 并相应地发送以下请求(如果这是甚至可能)

如果您运行多个代理实例,您应该提供一些负载平衡机制。最简单的方法使用循环 DNS 或发现服务在启动时为每个应用程序进程选择一个实例,将所有流量发送到该实例。您也可以使用 HTTP 负载均衡器,但各个实例仍必须是可寻址的,以支持返回的绝对 URL,以便在消费者读取和偏移提交操作中使用。

0 投票
0 回答
34 浏览

apache - 如何根据netscalar后面的apache的用户IP地址限制访问

我尝试使用 Require ip XX.XX.XX.XX 。但是,这不起作用,因为 REMOTE_ADDR 包含 NetScaler 的 ip 而不是客户端 ip。NetScaler 有没有办法将 REMOTE_ADDR 设置为客户端 IP 地址?NetScaler 在 HTTP_CLIENT_IP 中发送客户端 IP。如何在 apache 配置中将其设置为 REMOTE_ADDR?