Skip to content

Commit 1dd6712

Browse files
committed
Documented how to set HTTP headers using Mendix 10.24.1.
1 parent 89c3e76 commit 1dd6712

3 files changed

Lines changed: 37 additions & 6 deletions

File tree

content/en/docs/deployment/private-cloud/private-cloud-cluster/networking/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ OpenShift Routes remain a suitable choice if meet your current needs and you do
7777

7878
## Known Issues
7979

80-
* Application load balancers do not work correctly with HTTP2 WebSockets.
80+
* AWS Application Load Balancers do not work correctly with HTTP2 WebSockets.
8181

8282
As a workaround, you can use HTTP1 as the ingress backend protocol: `alb.ingress.kubernetes.io/backend-protocol-version: HTTP1`
8383

content/en/docs/deployment/private-cloud/private-cloud-cluster/networking/private-cloud-advanced-ingress-settings.md

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@ In this way, you can configure the following settings:
6969
* Specify the name of an existing TLS certificate secret.
7070
* Provide TLS Certificate and Private Key values directly in the environment specification.
7171

72-
## Configuring Headers in NGINX Ingress
72+
## Configuring HTTP headers
73+
74+
### Configuring headers in NGINX Ingress
7375

7476
For NGINX Ingress, you can set headers in a namespace which will further be propagated across all apps in that namespace by using a configuration snippet in the OperatorConfiguration object. Alternatively, you can configure headers for individual app environments by adding the `nginx.ingress.kubernetes.io/configuration-snippet` annotation in the Mendix on Kubernetes Portal.
7577

@@ -91,7 +93,29 @@ In an Istio- or Linkerd-enabled Kubernetes cluster, an Ingress controller can be
9193
AWS Application Load Balancer and Azure Application Gateway Ingress Controller only work with Istio.
9294
{{% /alert %}}
9395

94-
### Istio Service Mesh Integration with Ingress Controller
96+
### Configuring headers in the Mendix Runtime
97+
98+
Starting from Mendix 10.24.1, the Mendix Runtime can set headers natively, without relying on an external ingress controller.
99+
100+
This allows specifying security headers such as `Content-Security-Policy` with any ingress controller, not just NGINX Ingress.
101+
102+
To set headers, use the [Headers](/refguide/custom-settings/#Headers) Custom Runtime Setting on the [Runtime Tab](/developerportal/deploy/private-cloud-deploy/#runtime-tab) (for Connected environments) or in the [.spec.runtime.customConfiguration field](/developerportal/deploy/private-cloud-operator/#edit-cr) in the MendixApp CR.
103+
104+
The `Headers` Custom Runtime Setting accepts a JSON map where the keys are header names and values are header values.
105+
106+
The `Content-Security-Policy` header supports [additional custom handling](/refguide/configuration/#headers) to process `nonce` valuues.
107+
108+
For example, here's an example value of the `Headers` Custom Runtime Setting that can be usedhow to specify a few typical security headers:
109+
110+
```json
111+
{
112+
"Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload",
113+
"X-Frame-Options": "SAMEORIGIN",
114+
"Content-Security-Policy": "script-src 'nonce-{{ NONCE }}'"
115+
}
116+
```
117+
118+
## Istio Service Mesh Integration with Ingress Controller
95119

96120
To integrate the Istio Service Mesh with an Ingress Controller, perform the following steps:
97121

@@ -111,7 +135,6 @@ To integrate the Istio Service Mesh with an Ingress Controller, perform the foll
111135
6. In Istio, configure a [Gateway](https://istio.io/latest/docs/reference/config/networking/gateway/) resource to allow traffic through the ingress gateway.
112136
7. Define a [VirtualService](https://istio.io/latest/docs/reference/config/networking/virtual-service/) to route traffic from the gateway to a service in the mesh.
113137
114-
#### Configuring the Istio Service Mesh in the Mxpc-cli Tool
115138
116139
To configure the Istio Service Mesh for Mendix on Kubernetes, set up the following settings:
117140
@@ -124,7 +147,7 @@ To configure the Istio Service Mesh for Mendix on Kubernetes, set up the followi
124147
125148
{{< figure src="/attachments/deployment/private-cloud/private-cloud-cluster/private-cloud-networking/advanced-istio.png" class="no-border" >}}
126149
127-
### Installing Linkerd
150+
## Installing Linkerd
128151
129152
To install Linkerd, perform the following steps:
130153
@@ -141,7 +164,7 @@ To install Linkerd, perform the following steps:
141164
kubectl annotate {namespace} linkerd.io/inject=enabled
142165
```
143166
144-
#### Configuring Linkerd Ingress in the Mxpc-cli Tool
167+
### Configuring Linkerd Ingress in the Mxpc-cli Tool
145168
146169
To configure Linkerd for Mendix on Kubernetes, set up the following settings:
147170

content/en/docs/releasenotes/deployment/mendix-for-private-cloud.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ For information on the current status of deployment to Mendix on Kubernetes and
1212

1313
## 2025
1414

15+
### November ???, 2025
16+
17+
#### Documentation Improvements
18+
19+
* We have updated documentation on setting HTTP(S) headers.
20+
The instructions now include a new Mendix 10.24.1 Runtime feature allowing to set custom headers directly in the Mendix Runtime, without having to configure the ingress controller.
21+
For more information, see [Advanced Ingress Settings in Mendix on Kubernetes](developerportal/deploy/private-cloud-cluster/private-cloud-ingress-settings/advanced/).
22+
1523
### November 7, 2025
1624

1725
#### Portal Hotfix

0 commit comments

Comments
 (0)