Le direttive Proxypass necessitano di una direttiva ProxyPassReverse?


20

Tutte le direttive ProxyPass necessitano di una direttiva ProxyPassReverse?

ProxyPass / http://foo.example.com:8080/  
ProxyPassReverse / http://www.example.com/

Ho visto questo frammento e ho capito che tutto il traffico in arrivo foo.example.comè indirizzato a foo.example.com:8080. Cosa fa la seconda riga?

Risposte:


15

Questa direttiva consente ad Apache di regolare l'URL nelle intestazioni Location, Content-Location e URI sulle risposte di reindirizzamento HTTP .

Ad esempio, supponiamo che il server locale abbia l'indirizzo http://example.com/ ; poi

ProxyPass /mirror/foo/ http://backend.example.com/
ProxyPassReverse /mirror/foo/ http://backend.example.com/
ProxyPassReverseCookieDomain backend.example.com public.example.com
ProxyPassReverseCookiePath / /mirror/foo/

non solo farà sì che una richiesta locale per http://example.com/mirror/foo/bar venga convertita internamente in una richiesta proxy in http://backend.example.com/bar (la funzionalità fornita da ProxyPass qui). Si occupa anche dei reindirizzamenti inviati dal server backend.example.com: quando http://backend.example.com/bar viene reindirizzato da lui su http://backend.example.com/quux Apache lo regola su http: / /example.com/mirror/foo/quux prima di inoltrare la risposta di reindirizzamento HTTP al client. Si noti che il nome host utilizzato per costruire l'URL viene scelto rispetto all'impostazione della direttiva UseCanonicalName.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.