Terlambat tapi tetap saja, saya baru saja menangani masalah yang sama, dan ini berhasil untuk saya:
RequestHeader set X_FORWARDED_PROTO 'https' env=HTTPS
The dokumentasi mengatakan:
Ketika arahan RequestHeader digunakan dengan argumen add, append, atau set, argumen keempat dapat digunakan untuk menentukan kondisi di mana tindakan akan diambil. Jika variabel lingkungan yang ditentukan dalam argumen env = ... ada (atau jika variabel lingkungan tidak ada dan env =! ... ditentukan) maka tindakan yang ditentukan oleh arahan RequestHeader akan berlaku. Jika tidak, arahan tidak akan berpengaruh pada permintaan.
Sementara variabel lingkungan HTTPS hanya diatur saat permintaan dilakukan melalui SSL.
Anda tidak menginginkan itu; itu akan mengatur header Anda ke "HTTP / 1.1" (bahkan pada permintaan https) - mungkin tidak terlalu berguna untuk apa pun yang Anda lewati.
Anda memiliki blok VirtualHost berbeda untuk http dan https; hanya hardcode
RequestHeader
pengaturan di masing-masing.sumber
Anda dapat memperbaikinya dengan menggunakan
early
kata kunci:Jika tidak, Anda dapat melakukan apa yang disarankan John Crenshaw, yang digunakan
RewriteRule
sebagai penggantiProxyPass
arahan.sumber
Menemukan penyebabnya. Ternyata itu adalah urutan masalah operasi. mod_rewrite bertanggung jawab untuk menyediakan variabel lingkungan ini, tetapi Apache tidak memprosesnya sampai SETELAH menangani permintaan ProxyPass. Sampai saat itu, itu hanya akan menetapkan nol. Satu-satunya solusi tampaknya adalah melakukan proxy melalui mod_rewrite.
Lihat http://www.gossamer-threads.com/lists/apache/users/267160?do=post_view_threaded#267160
sumber