VNG-Realisatie / api-test-platform

6 stars 3 forks source link

Proxy-voorziening via HTTP-proxy laten verlopen #59

Closed alextreme closed 5 years ago

alextreme commented 5 years ago

Aangegeven door Henri en met Sergei en Joeri besproken.

In tegenstelling tot een Proxy URL met daarin de sessie ID zouden we ook een transparent HTTP proxy kunnen opzetten, en/of op basis van een HTTP header de sessie kunnen achterhalen.

Doel hiervan is het transparant werken als proxy, waarbij de URL niet verandert.

Voorstel is om de oplossing van ZDS 2.0 icm NLX af te wachten, aangezien NLX in feite ook een proxyvoorziening is.

De vraag hier in is wat wijsheid is, Henri en ik zijn hier nog niet over uit wat de verstandigste route is.

Ik stel voor dat we in deze issue de voors en tegens beschrijven.

Toelichting: ...

Oplossingsrichting:

Definition of ready

Definition of done algemeen

Definition of done specifiek voor deze user story

Acceptatiecriteria

Taken Taken worden apart uitgewerkt in issues.

HenriKorver commented 5 years ago

@ehotting Is de proxy-oplossing voor NLX al ergens beschreven? Dan kunnen wij kijken of we die kunnen hergebruiken voor API Testvoorziening...

ehotting commented 5 years ago

Soon!™

HenriKorver commented 5 years ago

Wellicht is dit al een sneak preview:

https://gitlab.com/commonground/nlx/merge_requests/376

ehotting commented 5 years ago

Ik denk niet dat de DNS optie hem gaat worden. We maken deze sprint een PoC maar die gaat uit van routering vanuit client naar outway op basis environment variable. DNS oplossing is zuiver maar heeft grote nadelen qua beheer...

HenriKorver commented 5 years ago

Dank voor de info. Ik volg nu beide issues op nlx gitlab. Is er trouwens een mogelijkheid om me te abonneren op alle notificaties van nlx gitlab? Die RSS feed krijg ik niet zo 1-2-3- aan de praat...

ehotting commented 5 years ago

[off-topic]screenshot 2019-03-01 at 10 39 15[/off-topic]

HenriKorver commented 5 years ago

Een eerste oplossing voor een proxy bij NLX: https://gitlab.com/commonground/nlx/blob/9476648c550dc84d84e66296118f110195381206/design/outway-proxy-protocol.md

alextreme commented 5 years ago

Fijn, dank Henri.

Hoewel dit waarschijnlijk helpt voor de situatie waarbij NLx wordt gebruikt bij interne systemen, ik zie met de ZGW APIs (URL + UUID "foreign keys") in het achterhoofd hiermee niet dat de problemen worden opgelost waar we met het testplatform in december tegenaan zijn gelopen. Je krijgt namelijk meerdere mogelijke domeinnamen voor dezelfde objecten, en via een proxy heb je voor 1 verzoek meerdere domeinnamen om te 'vertalen'.

De noodzaak om requests/responses te rewriten zou ik ook liever niet op NLx of test-platform niveau willen oplossen. Ik zou willen pleiten voor een strikte 'separation of concerns' tussen de lagen. Anders ben je de problemen van laag X aan het oplossen in laag Y, waardoor het geheel een stuk complexer wordt (en je spaghetti krijgt)