PLACK :: MEDEWARE :: REARMPROXPATH

Pas de proxied env aan om aan de klant te passen
Download nu

PLACK :: MEDEWARE :: REARMPROXPATH Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Brad Bowman
  • Uitgever website:
  • http://search.cpan.org/~bowmanbs/

PLACK :: MEDEWARE :: REARMPROXPATH Tags


PLACK :: MEDEWARE :: REARMPROXPATH Beschrijving

Gebruik Case: reverse proxying / sub / pad / naar http: // 0: 5000 / andere / pad /. Deze middleware zit aan de back-ent en maakt gebruik van headers die door de proxy worden verzonden om het proxy-sanitair uit de back-end app.Plack te verbergen :: Middleware :: RecardProxy is een Perl-module die de gastheer, Port en Scheme.Plack :: Middleware :: Revredeproxypath voegt de behandeling van paden toe. Het doel is om proxied back-end-apps toe te staan om de client-facing-URL te reconstrueren en te gebruiken. Aardproxy doet het grootste deel van het werk- en revredproxypath de paden. De innerlijke app kan eenvoudigweg $ req-> basis gebruiken om te omleiden, cookies in te stellen en de like. Ik vind de term omgekeerde proxy leidt tot verwarring, dus ik gebruik het front-end om te verwijzen naar de omgekeerde proxy (bijv. Squid) De klant treft eerst en back-end om naar de server te verwijzen die uw PSGI-applicatie (bijv. Starman) uitvoert. PLAATSELIJK :: MEDEWARE :: RUGPROXPATH Past Script_Name en Path_info aan op basis van headers van een front-end, zodat het innerlijke app kan zijn Doe net alsof er geen proxy is. Dit is handig wanneer u niet proxying en volledige server bent, maar alleen een dieper pad. In Apache-voorwaarden: ProxyPass / Mirror / Foo / http: // localhost: 5000 / bar / het moet worden gebruikt met plack :: middleware :: revaryProxy die gelijkwaardige aanpassingen aan het schema, host- en havenomgeving kenmerkend is. Synopsiserally Eenvoudig gebruik de middelbare ware: schakel "revredproxy" in; Inschakelen "Revredproxpath"; hieronder is een uitgebreid voorbeeld dat zowel een dummy reverse proxy front-end en het back-end met reverseProxpath omvat. Rennen met zoiets: Plack_Server = Starman Perl -x -LiB ./Lib/PLACK/MIDDLEWARE/REVERSEPROXPATH.PM (Sample-uitvoer hieronder) #! PERL -MPLACK :: Runner #line 85 Sub MW (); gebruik plack :: bouwer; # Configureer je omgekeerde proxy (Perlbal, Vernis, Apache, Squid) # om x-forwarded-script-naam en X-Traversal-Path-headers te verzenden. # Dit voorbeeld maakt gebruik van PLACK :: app :: proxy om te demonstreren: sub proxy_builder {vereisen plack :: app :: proxy; # Stel je voor dat dit is https: // somehost / fepath / from mount "http: // localhost / fepath / from" => builder {inschakelen mw {my ($ app, $ env) = @_; # Headers voor RevredeproxPathath $ Env -> {'http_x_forwarded_script_name'} = '/ fepath / van'; $ Env -> {'http_x_traversal_path'} = '/ bath / to'; # Headers voor Revredproxy (vaak al verzonden) $ Env -> {'http_x_forwarded_host'} = 'Syhost'; # Doen alsof .. $ Env -> {'http_x_forwarded_port'} = 443; Die "MP" nodig als! $ Env -> {'PSGI.MULTIPROCESS'}! $ ENV -> {'PSGI.MULTITHREAD'}; $ app -> ($ env); }; Plack :: app :: proxy-> nieuw (afstandsbediening => 'http: // 0: 5000 / back / to') -> to_App; }; }; # In je plack back-end mijn $ app = builder {# / bath / to / * is proxied (kan ook direct toegankelijk zijn) Mount "/ bath / to" => bouwer {# basisaanpassingen: # 1) http: / / 0: 5000 / back / to / x # Rechtsproxy Fixes Scheme / Host / Port Schakel "Revredproxy" in; # 2) HTTPS: // Oarkhost / bath / to / x # revredproxypath maakt gebruik van nieuwe headers # fixes script_name en path_info Schakel "reverseProxpath" in; # 3) HTTPS: // ANTYHOST / FEPATH / VAN / X # $ REQ-> BASE + $ REQ-> PATH NU is de client-facing-url # zo-urls, set-cookie, locatie kan naacte mount "/ basis" werken => \ echo_base; Mount "/ Env" => \ echo_env; }; Mount "/ Env" => \ echo_env; # volmacht voor mezelf om de Synopsis kort te houden (behoeften> 1 werknemer) proxy_builder (); }; # Synopsis Sanitair: sub echo_base {vereisen plack :: aanvraag; , ]} sub echo_env {mijn ($ ENV) = @_; , ]} Sub MW () {My $ CODE = verschuiving; sub {mijn $ app = shift; Sub {$ CODE -> ($ app, @_); }}}; PLACK :: RUNNER-> NIEUW-> RUN ($ APP); __ END__ # met AUTWERPROXPATH EN AUTWERPROXY AANGEVOEG HADT HADP: // LOCKEHOST: 5000 / FEPATH / VAN / BASE HTPS: // OFERHOST / FEPATH / VAN / BASE # SOMMER Naar de back-end, http: // localhost: 5000 / back / to / base http: // localhost: 5000 / back / to / baseproduct's startpagina


PLACK :: MEDEWARE :: REARMPROXPATH Gerelateerde software