This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
NGINX
These values apply to the ingress-nginx controller. If you use NetScaler CPX, the SecurSpaces chart applies the equivalent profiles itself and there is nothing to tune. See NetScaler CPX.
Citrix SecurSpaces™ carries long-lived connections — the Cloud IDE, SSH sessions, and workspace apps all hold a socket open for the length of a working session. The default ingress-nginx settings are tuned for short request/response traffic, so the following values are recommended for a SecurSpaces deployment.
Install the controller
SecurSpaces does not install NGINX for you. The cluster needs an ingress-nginx controller before you deploy the Helm chart.
Many managed Kubernetes services have a recommended way to do this — check the ingress-nginx deployment guide for your cloud provider first. If your provider is not listed, install it with Helm:
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm install --namespace nginx --create-namespace ingress-nginx ingress-nginx/ingress-nginx \
--set controller.service.type=LoadBalancer
<!--NeedCopy-->
On AWS, add the annotation that provisions a Network Load Balancer:
--set controller.service.annotations."service\.beta\.kubernetes\.io/aws-load-balancer-type"="nlb"
<!--NeedCopy-->
Confirm the ingress class the controller watches, and use that value for platform.ingressClass in your
SecurSpaces configuration:
kubectl get ingressclass
<!--NeedCopy-->
Tune the controller
Apply the following values before you put the platform into use. They are not optional in practice: the defaults produce dropped Cloud IDE sessions under normal working conditions.
A default ConfigMap exists in the ingress-nginx namespace, usually named ingress-nginx-controller. The
name varies with how the ingress controller was installed.
kubectl edit configmap ingress-nginx-controller
<!--NeedCopy-->
Recommended values
apiVersion: v1
data:
allow-snippet-annotations: "true"
enable-brotli: "true"
keep-alive: 120s
keep-alive-requests: "10000"
use-gzip: "true"
use-http2: "true"
kind: ConfigMap
<!--NeedCopy-->
| Value | Effect |
|---|---|
allow-snippet-annotations |
Controls whether the controller honors snippet annotations. See the note below — this one has consequences beyond performance. |
enable-brotli |
Compresses responses with Brotli where the client supports it. |
keep-alive |
Holds an idle upstream connection open for 120 seconds rather than the default 75. |
keep-alive-requests |
Allows 10,000 requests per keep-alive connection rather than the default 1,000, which matters for the long sessions the Cloud IDE creates. |
use-gzip |
Compresses responses for clients that do not support Brotli. |
use-http2 |
Serves HTTP/2 to clients that support it. |
About allow-snippet-annotations
The SecurSpaces Helm chart reads this value from the ConfigMap when it renders, and behaves differently depending on what it finds:
-
"true"— the chart adds its ownserver-snippetannotation to the ingress, which installs SecurSpaces error pages for HTTP 400, 401, 403, 404, 405, 408, and 413. -
"false"— the chart omits that annotation. The platform still works, but those responses fall back to the ingress controller’s default error pages.
If you set platform.nginxConfig or platform.nginxConfigSubdomain in your Helm values, the chart emits a
configuration-snippet annotation, which the controller only honors when allow-snippet-annotations is
"true".
Note:
Snippet annotations let any user who can create an Ingress object inject NGINX configuration. Recent ingress-nginx releases default this to
"false"for that reason. Setting it to"true"is a trade-off between the SecurSpaces error pages and that exposure. If your cluster policy forbids snippet annotations, leave it"false"— the platform is fully functional either way.
Related information
Share
Share
This Preview product documentation is Citrix Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Citrix Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Citrix product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.