====== 4.2 Proxy Configuration ======
Setting up the TLS proxy with PQ support.
===== Configuration File =====
Location: ''%SERVICES_ROOT%\Proxy\config.json''
{
"Proxy": {
"ListenPort": 443,
"TLS": {
"Enabled": true,
"Protocol": "TLS1.3",
"Certificate": "%CERTS_PATH%\\server.pfx",
"CertificatePassword": "...",
"ClientCertificateRequired": true,
"ClientCertificateValidation": "ChainTrust"
},
"PQCrypto": {
"KeyExchange": "ML-KEM-768",
"Signature": "ML-DSA-65",
"HybridMode": true
}
}
}
===== Routing Rules =====
{
"Routing": {
"Rules": [
{
"Match": {
"PathPrefix": "/api/",
"Headers": { "X-Gateway-Request": "true" }
},
"Target": {
"Type": "NamedPipe",
"PipeName": "DataGatewayApi"
}
},
{
"Match": {
"PathPrefix": "/odata/"
},
"Target": {
"Type": "NamedPipe",
"PipeName": "DataGatewayApi"
}
},
{
"Match": {
"Default": true
},
"Target": {
"Type": "Http",
"Url": "http://localhost:8443"
}
}
]
}
}
===== Certificate Validation =====
{
"CertificateValidation": {
"TrustedRoots": [
"%CERTS_PATH%\\CA\\root-ca.crt"
],
"RevocationCheck": {
"Mode": "Online",
"CrlEndpoint": "http://crl.intern/ca.crl",
"OcspEndpoint": "http://ocsp.intern/"
},
"ValidationServer": {
"Enabled": true,
"Url": "https://trust.intern/api/validate"
}
}
}