Ορισμένες από τις διεπαφές μας περιλαμβάνουν αλλαγές στις πληροφορίες χρήστη και αυτές οι διεπαφές επιτρέπουν μόνο στο μέρος πρόσβασης να μας προσαρμόσει, επομένως έχουμε μια λίστα επιτρεπόμενων IP στο nginx.
Είναι εξοπλισμένο με την IP εξόδου του μέρους πρόσβασης.
Εδώ είναι τα αρχεία καταγραφής από την πρόσβασή μας στο nginx.
Το nginx παίρνει το $remote_addr μας ως την πραγματική IP, αλλά στην πραγματικότητα, το $http_X_Forwarded_For είναι η πραγματική IP του χρήστη, το $remote_addr είναι απλώς η διεύθυνση ιδιωτικού δικτύου του f5 μας (χρήστης -->f5 --> nginx), με αποτέλεσμα το nginx να παίρνει λάθος όνομα και ο χρήστης να προσαρμόζει τη διεπαφή είναι πάντα 403.
Λύση:
Στη μονάδα http συν
set_real_ip_from 10.10.10.122· Πείτε στο nginx να πάρει την αξία του RealIP από εκεί
real_ip_header X-Real-IP; Το όνομα της μεταβλητής που αποθηκεύει την τιμή RealIP
Μπορώ!
Εδώ ξεκινάμε την αναφορά nginx αφού προσθέσουμε:
nginx: [emerg] unknown directive "set_real_ip_from" in /home/lnidmp/nginx/conf/nginx.conf:26
Προσθέτουμε λοιπόν τη μονάδα realip και μεταγλωττίζουμε ξανά το nginx
1, cd /usr/τοπικό/nginx-1.6.3 2、./configure --prefix=/usr/cmcc/nginx --με-http_stub_status_module --με-http_ssl_module --με-http_realip_module 3, Κάντε && κάντε εγκατάσταση
Συμβουλές:
1. set_real_ip_from αναφέρεται στην πραγματική IP χρήστη που λαμβάνεται από την οποία
2. real_ip_header αναφέρεται στην IP χρήστη της προηγούμενης μετάδοσης διακομιστή μεσολάβησης από την οποία λαμβάνεται μέρος HTTP του ληφθέντος μηνύματος
3. real_ip_recursive Εάν θα εξαιρεθεί αναδρομικά μέχρι να ληφθεί η IP χρήστη (η προεπιλογή είναι απενεργοποιημένη)
Αρχικά, real_ip_header καθορίσετε ένα όνομα κεφαλίδας http, το οποίο είναι X-Real-IP από προεπιλογή.
(1) Εάν υπάρχει 1 IP, θα ελέγξει εάν η IP του αποστολέα βρίσκεται στη λίστα αξιόπιστων IP που καθορίζεται από το set_real_ip_from. Εάν είναι αξιόπιστο, θα πιστεύει ότι η τιμή IP σε αυτό το X-Real-IP είναι η πραγματική τιμή IP του χρήστη που είπε ο προηγούμενος πράκτορας, επομένως θα εκχωρήσει αυτήν την τιμή στη δική του μεταβλητή $remote_addr. Εάν δεν είναι αξιόπιστο, δεν θα υποβληθεί σε επεξεργασία και το $remote_addr εξακολουθεί να είναι η διεύθυνση IP του αποστολέα.
(2) Εάν το X-Real-Ip έχει πολλαπλές τιμές IP, για παράδειγμα, ο προηγούμενος διακομιστής μεσολάβησης ορίζεται ως εξής: proxy_set_header X-Real-Ip $proxy_add_x_forwarded_for;
Αυτό που λαμβάνετε είναι μια σειρά από IP, επομένως η αξία του real_ip_recursive είναι κρίσιμη αυτή τη στιγμή. Το nginx θα συγκρίνει τις IP στη λίστα εμπιστοσύνης set_real_ip_from από δεξιά προς τα αριστερά στη λίστα IP. Εάν η real_ip_recursive είναι απενεργοποιημένη, τότε όταν η πιο δεξιά IP βρεθεί να είναι αξιόπιστη IP, πιστεύεται ότι η επόμενη IP (η δεύτερη στα δεξιά) είναι η πραγματική IP του χρήστη. Εάν η real_ip_recursive είναι ενεργοποιημένη, θα συγκριθεί από δεξιά προς τα αριστερά μέχρι να βρει μια μη αξιόπιστη IP. Στη συνέχεια, αντιγράψτε την τιμή IP και στο $remote_addr.
Πόροι:
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
|