Πώς να αποκτήσετε IP πελάτη από το AWS, το Google Cloud LB και το Cloudflare στο Nginx;

Η εγκατάσταση μιας διαδικτυακής εφαρμογής στο cloud είναι πάντα διασκεδαστική και συναρπαστική.

Πρόσφατα, κυκλοφόρησα ένα εργαλείο grtechpc.org Tools, το οποίο φιλοξενείται στο AWS πίσω από το Cloudflare.

Χρησιμοποιώ τον εξισορροπητή φόρτωσης της εφαρμογής AWS και το Nginx ως διακομιστή ιστού. Αφού έφτιαξα τη ζωή, πήγα να δω το access.log και παρατήρησα ότι όλα τα αιτήματα είχαν επισημανθεί ως προερχόμενα από εσωτερική (load balancer) IP.

Αυτό δεν είναι καλό εάν θέλετε να αναλύσετε τα αρχεία καταγραφής του διακομιστή ιστού σας για τοποθεσίες επισκεπτών. Συνειδητοποίησα ότι λείπω ή πρέπει να κάνω κάποιες αλλαγές διαμόρφωσης για να επαναφέρω την IP του πελάτη.

  Τι είναι το Apple Fitness+ και πόσο κοστίζει;

Είσαι στην ίδια κατάσταση με εμένα;

Λοιπόν, εδώ είναι πώς μπορείτε να λάβετε την IP πελάτη στα αρχεία καταγραφής πρόσβασης Nginx.

Λήψη IP επισκέπτη από το AWS ή το Google Cloud LB

  • Συνδεθείτε στον διακομιστή ιστού Nginx
  • Μεταβείτε στη διαδρομή όπου είναι εγκατεστημένη (προεπιλεγμένη τοποθεσία /etc/nginx)
  • Πάρτε ένα αντίγραφο ασφαλείας του αρχείου nginx.conf
  • Προσθέστε τα ακόλουθα στο μπλοκ HTTP
real_ip_header X-Forwarded-For;
set_real_ip_from 0.0.0.0/0;
  • Επανεκκινήστε το Nginx και θα πρέπει να δείτε την IP του επισκέπτη στο αρχείο access.log σας

Εάν βρίσκεστε πίσω από το Cloudflare, τότε θα δείτε την IP τους αντί για την IP του πελάτη, οπότε πρέπει να κάνετε και τα παρακάτω.

  Πώς να αντιστοιχίσετε δύο ηχεία Nest Assistant Google για στερεοφωνικό ήχο

Λήψη IP πελάτη από το Cloudflare

Το Cloudflare είναι ένας εξαιρετικός πάροχος CDN και Ασφάλειας και μου αρέσει πολύ. Εάν χρησιμοποιείτε το Cloudflare όπως εγώ και θέλετε να επαναφέρετε την IP επισκέπτη στο αρχείο καταγραφής του διακομιστή ιστού, δείτε πώς μπορείτε να το κάνετε.

Υποθέτοντας ότι είστε συνδεδεμένοι στον διακομιστή Nginx

Πάρτε ένα αντίγραφο ασφαλείας του αρχείου διαμόρφωσης του ιστότοπού σας (συνήθως εδώ – /etc/nginx/sites-available/yourdomain)

Προσθέστε τα ακόλουθα στην αρχή του αρχείου

set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 199.27.128.0/21;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;
real_ip_header CF-Connecting-IP;

Σημείωση: Μπορεί να θέλετε να επικυρώσετε τη λίστα IP από τους Επίσημη Σελίδα.

  Πώς να εισαγάγετε ένα σύμβολο με μια συντόμευση πληκτρολογίου στο MS Word

Κάντε επανεκκίνηση του Nginx και θα πρέπει να δείτε την IP του πελάτη τώρα. Αυτό με βοήθησε, και ελπίζω και εσάς.

Στη συνέχεια, μάθετε πώς μπορείτε να εφαρμόσετε ασφαλείς κεφαλίδες χρησιμοποιώντας το Cloudflare Workers.

Σας άρεσε να διαβάζετε το άρθρο; Τι θα λέγατε να μοιράζεστε με τον κόσμο;