Untuk alasan yang mengerikan untuk masuk ke ... Saya menggunakan Nginx sebagai server web dan ingin itu melayani satu halaman untuk pengguna internal (katakan pada 10.0.0.0/16) dan halaman lain untuk pengguna eksternal pada alamat IP lainnya.
Sebagai contoh:
PC "Internal" dengan IP 10.0.0.34 masuk ke company.com/page.html mendapatkan halaman internal.html
PC "Eksternal" dengan IP 8.8.8.8 pergi ke company.com/page.html mendapatkan halaman external.html
Jawaban:
Manfaatkan modul geo Nginx . Ini memungkinkan Anda mengatur nilai variabel berdasarkan alamat IP klien.
geo
arahan harus dalamhttp
bagian:Anda dapat menggunakannya nanti di lokasi untuk mencari file
Yang berarti, Nginx akan diatur
$client
ke salah satuextra
atauintra
berdasarkan IP klien. Mari kita asumsikan itu adalah klien Intranet. Jika klien memintapage.html
, Nginx akan mencari file/your/root/page.html.intra
. Jika tidak ada file seperti itu, itu akan mencari/your/root/page.html
. Jika tidak dapat menemukan keduanya, Nginx mengembalikan 404 respons "Tidak Ditemukan". Lebih lanjut tentang "try_files" dalam dokumentasiOmong-omong,
index
direktif mendukung variabel juga. Misalnyasumber