SKLTP - Lastbalanserare / Reverse-proxy

Krav på lastdelare/reverse-proxy

När en lastdelare (eller reverse-proxy) används framför tjänsteplattformen ställs krav enligt nedan.

Stödja WSDL-query requests (?wsdl)

Krav på en lastdelare/reverse-proxy är att forwarda information om de URL:delar av ett klientanrop som lastdelaren/reverse-proxyn ändrar (bara de delar som lastedelare/reverse-proxy ändrar måste forwardas) genom att sätta HTTP-headers enligt nedan till de värden som klientanropet innehåller:
a) Protokoll (http/https): X-Forwarded-Proto
b) Host: X-Forwarded-Host
c) Port: X-Forwarded-Port

Not: VP har stöd för att konfigurera namn på headers enl ovan.

Ref:  NTP-57 - Skaffar detaljer kring ärendet ... STATUS

Testning

VP ska skriva om URL-referenser i WSDL enligt medskickade HTTP-headers. Ett anrop mot lastdelare/reverse-proxy med (exempel, byt protokoll, host, port till aktuella värden):

curl <certifikatsparametrar om HTTPS> https://loadbalancer-dns-name:443/vp/Ping/1/rivtabp20?wsdl

Not: se tex för Curl med mutual auth: http://blog.callistaenterprise.se/2011/04/04/curl-mutual-authentication-and-web-services/

ska ge samma svar (m a p URL:er för /wsdl:definitions/wsdl:service/wsdl:port/soap:address/@location och //xsd:import/@schemaLocation) som ett anrop direkt mot en VP-nod (utan framförliggande lastdelare) med (exempel, byt protokoll, host, port till aktuella värden):

curl -H "X-Forwarded-Proto: https" -H "X-Forwarded-Host: loadbalancer-dns-name-from-request" -H "X-Forwarded-Port: 443" http://vp-node-x:8080/vp/Ping/1/rivtabp20?wsdl