apache - mod_rewrite + mod_proxy bekerja dalam pementasan, tidak bekerja dalam produksi (opsi [P] diabaikan)


1

Saya telah mengatur pengalihan di host virtual Apache saya yang melayani beberapa subdomain - sebut mereka a.example.com dan b.example.com - melayani aplikasi ruby ​​on rails.

Pada file konfigurasi virtualhost saya, saya memiliki aturan ini:

rewriteEngine on
rewriteRule proxy/(.+)$ http://news.example.com/$1 [P]

Idenya adalah bahwa saya bisa melakukan http://a.example.com/proxy/news/adan mendapatkan isinya http://news.example.com/news/a, tetapi dalam subdomain yang sama, jadi ajax tidak berpikir permintaan ajax saya adalah lintas-domain - info lebih lanjut tentang pertanyaan SO ini .

Masalahnya adalah bahwa sementara itu berfungsi dengan baik di lingkungan pementasan saya, itu tidak dalam produksi!

Kedua server adalah server Ubuntu 10,04. Apache berasal dari repo ubuntu standar, menggunakan apt-get install.

Saya telah membuat perbedaan dari seluruh / etc / apache2 / dir dan satu-satunya perbedaan adalah nama server.

Jika saya mengubah opsi terakhir ke [L], saya mendapatkan arahan ulang, jadi ini membuat saya berpikir bahwa mod_rewrite berfungsi. Itu hanya tidak berbicara dengan mod_proxy.

Dengan melihat log ( /var/log/apache2dan log rel), sepertinya aturan penulisan ulang dalam produksi hanya diabaikan - log sama persis seolah-olah tidak ada.

Bagaimana saya bisa men-debug ini? Bisakah saya memaksa Apache untuk memberi saya informasi lebih lanjut tentang mengapa aturan khusus ini tidak ditegakkan ketika saya mengakses /proxy?

Jawaban:


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.