Apakah Arahan Proxypass membutuhkan Arahan ProxyPassReverse?

20

Apakah semua Arahan ProxyPass memerlukan Arahan ProxyPassReverse?

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

Saya melihat cuplikan ini, dan memahami bahwa semua lalu lintas yang datang foo.example.comdiproksi ke foo.example.com:8080. Apa yang dilakukan baris kedua?

theTuxRacer
sumber

Jawaban:

15

Arahan ini memungkinkan Apache menyesuaikan URL di header Lokasi, Konten-Lokasi, dan URI pada respons pengalihan HTTP .

Misalnya, misalkan server lokal memiliki alamat http://example.com/ ; kemudian

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

tidak hanya akan menyebabkan permintaan lokal untuk http://example.com/mirror/foo/bar dikonversi secara internal menjadi permintaan proxy ke http://backend.example.com/bar (fungsi yang disediakan ProxyPass di sini). Ini juga menangani pengalihan server backend.example.com mengirim: ketika http://backend.example.com/bar dialihkan olehnya ke http://backend.example.com/quux Apache menyesuaikan ini ke http: / /example.com/mirror/foo/quux sebelum meneruskan tanggapan pengalihan HTTP ke klien. Perhatikan bahwa nama host yang digunakan untuk membuat URL dipilih sehubungan dengan pengaturan arahan UseCanonicalName.

alvosu
sumber