Saya memiliki server web di belakang load-balancer.
Saya perlu menambahkan pengalihan bersyarat ke .htaccess saya untuk menampilkan halaman pemeliharaan setiap kali kami membuat situs offline untuk pemeliharaan. Bagian ini mudah:
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.php$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
RewriteRule .* /maintenance.php [R=302,L]
Namun saya ingin menambahkan dalam kondisi bahwa jika alamat IP pengunjung adalah milik saya, itu tidak akan mengarahkan saya ke halaman pemeliharaan dan bahwa saya akan dapat melihat dan menguji situs seolah-olah sedang online. Bagian ini biasanya juga mudah:
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^11\.111\.111\.111
RewriteCond %{REQUEST_URI} !/maintenance.php$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
RewriteRule .* /maintenance.php [R=302,L]
Namun, karena server web saya berada di belakang load balancer, REMOTE_ADDR
diselesaikan ke alamat IP internal server Load Balance.
Bagaimana saya bisa mengubah ini untuk mencari alamat IP yang diteruskan? Saya tahu di PHP Anda bisa menggunakan $_SERVER['HTTP_X_FORWARDED_FOR']
untuk mendapatkan alamat IP yang diteruskan. Saya sudah mencoba beberapa hal .htaccess
tetapi tidak berhasil:
%{X_FORWARDED_FOR}
%{HTTP:X_FORWARDED_FOR}
%{HTTP_X_FORWARDED_FOR}
LARUTAN
Saya mendapat yang berikut ini untuk bekerja:
%{HTTP:X-FORWARDED-FOR}
.jpe
atau .jp
file?