Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 17771|Jawab: 1

[Situs web] nginx memperoleh alamat IP asli pengguna

[Salin tautan]
Diposting pada 19/05/2018 11.38.55 | | | |
Beberapa antarmuka kami melibatkan perubahan dalam informasi pengguna, dan antarmuka ini hanya memungkinkan pihak akses untuk menyesuaikan kami, jadi kami memiliki daftar putih IP di nginx.

Dilengkapi dengan IP keluar dari pihak yang mengakses.

Berikut adalah log dari akses nginx kami.



nginx mengambil $remote_addr kami sebagai IP asli, tetapi pada kenyataannya, $http_X_Forwarded_For adalah IP asli pengguna, $remote_addr hanyalah alamat jaringan pribadi dari f5 kami (pengguna -->f5 --> nginx), mengakibatkan nginx mengambil nama yang salah dan pengguna menyesuaikan antarmuka selalu 403.

Larutan:

Dalam modul http plus


set_real_ip_from 10.10.10.122; Beri tahu nginx untuk mendapatkan nilai RealIP dari sana
real_ip_header X-Real-IP; Nama variabel yang menyimpan nilai RealIP

Bisa!

Di sini kita memulai laporan nginx setelah menambahkan:

nginx: [emerg] unknown directive "set_real_ip_from" in /home/lnidmp/nginx/conf/nginx.conf:26




Jadi kami menambahkan modul realip dan mengkompilasi ulang nginx


1 、 CD / USR / LOCAL / NGINX-1.6.3
2 、./konfigurasi --prefix = / usr / cmcc / nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
3 、 Buat && Buat Instal

Kiat:
1. set_real_ip_from mengacu pada IP pengguna asli yang diperoleh dari mana pra-proxy tepercaya

2. real_ip_header mengacu pada IP pengguna dari transmisi proxy sebelumnya dari mana bagian HTTP dari pesan yang diterima diperoleh

3. real_ip_recursive Apakah akan mengecualikan secara rekursif hingga IP pengguna diperoleh (default nonaktif)

Pertama, real_ip_header tentukan nama header http, yaitu X-Real-IP secara default.

(1) Jika ada 1 IP, itu akan memeriksa apakah IP pengirim ada dalam daftar IP tepercaya yang ditentukan oleh set_real_ip_from. Jika dipercaya, ia akan berpikir bahwa nilai IP dalam X-Real-IP ini adalah nilai IP asli pengguna yang diberitahukan oleh agen sebelumnya, sehingga akan menetapkan nilai ini ke variabel $remote_addr sendiri; Jika tidak dipercaya, itu tidak akan diproses, dan $remote_addr masih merupakan alamat IP pengirim.

(2) Jika X-Real-Ip memiliki beberapa nilai IP, misalnya, proxy sebelumnya diatur seperti ini: proxy_set_header X-Real-Ip $proxy_add_x_forwarded_for;

Apa yang Anda dapatkan adalah serangkaian IP, jadi nilai real_ip_recursive sangat penting saat ini. nginx akan membandingkan IP dalam daftar kepercayaan set_real_ip_from dari kanan ke kiri dalam daftar IP. Jika real_ip_recursive mati, maka ketika IP paling kanan ditemukan sebagai IP tepercaya, diperkirakan bahwa IP berikutnya (yang kedua di sebelah kanan) adalah IP asli pengguna. Jika real_ip_recursive aktif, itu akan dibandingkan dari kanan ke kiri hingga menemukan IP yang tidak tepercaya. Kemudian salin nilai IP ke $remote_addr juga.

Sumber daya:
https://help.aliyun.com/document_detail/54007.html
https://help.aliyun.com/knowledge_detail/55198.html
https://www.linux178.com/web/nginx-get-realip.html





Mantan:Peta situs diskusikan dibuat secara otomatis
Depan:Gunakan penyeimbangan beban Alibaba Cloud untuk memblokir akses IP ke situs web
Diposting pada 18/06/2018 14.57.50 |
Lihat, nginx mendapatkan IP asli
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com