απαιτήσεις: Χρησιμοποιήστε το nginx για να αποκλείσετε την πρόσβαση ορισμένων IP σε ιστότοπους, όπως προγράμματα ανίχνευσης, διαφημίσεις κ.λπ. Ή για λόγους πολιτικής, πρέπει να αποκλείσετε την πρόσβαση από μια διεύθυνση IP σε μια συγκεκριμένη χώρα.
Αποκλεισμός καθορισμένης πρόσβασης IP
Το Nginx παρέχει δύο από τις πιο βασικές εντολές για κάλυψη και άδεια IP: άρνηση αποκλεισμού και άδεια να επιτρέπεται, ως εξής:
Καθορίστε τον κατάλογο για να αποκλείσετε την πρόσβαση από καθορισμένες IP
Στο αρχείο διαμόρφωσης του Nginx, μπορείτε να χρησιμοποιήσετε μπλοκ τοποθεσίας για να αντιστοιχίσετε συγκεκριμένες διαδρομές URL. Για παράδειγμα, θέλουμε να ενεργοποιήσουμε την κάλυψη σε διαδρομές URL που ξεκινούν με /foo, ταιριάζοντας όλες τις διαδρομές URL που ξεκινούν με /foo, όπως /foo/bar και /foo/baz/qux, κ.λπ., ως εξής:
Εάν θέλειςΑκριβής αντιστοίχιση /fooγια να χρησιμοποιήσετε την ακόλουθη διαμόρφωση:
Μπορείτε επίσης να αντιστοιχίσετε τον κατάλογο με regex:
Αποκλεισμός πρόσβασης στην καθορισμένη χώρα (περιοχή).
Μερικές φορές θέλουμε να επιτρέψουμε μόνο σε ορισμένες περιοχές να έχουν πρόσβαση στον ιστότοπό μας. Γνωρίζοντας τις δύο παραπάνω μεθόδους, το πρόβλημα που απομένει είναι πώς να αποκτήσετε όλα τα τμήματα IP σε μια συγκεκριμένη περιοχή. Μπορούμε να το πάρουμε από το ip2location. Διεύθυνση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Επιλέξτε τη χώρα στην αριστερή πλευρά του πλαισίου, επιλέξτε V4 ή V6 στο μεσαίο πλαίσιο και επιλέξτε τον τύπο κανόνα στα δεξιά. Πάρτε για παράδειγμα την Ιαπωνία:
Κατεβάστε και αποσυμπιέστε για να λάβετε το αρχείο txt,Διαγράψτε την πρώτη τοποθεσία / { και την τελευταία },Τέλος, προσθέστε μια γραμμή να επιτρέπονται όλα.Αλλάξτε το όνομα του επιθήματος από .txt σε .conf και μεταφορτώστε το στον διακομιστή, απομνημονεύοντας τον κατάλογο όπου τοποθετήθηκε. (π.χ. /usr/local/nginx/conf/nginx.conf/firewall.conf)
Τροποποιήστε το αρχείο διαμόρφωσης Nginx που αντιστοιχεί στον ιστότοπο, όπως τον κατάλογο /foo για να επιτρέπεται η πρόσβαση μόνο από μη ιαπωνικές IP:
Εάν θέλετε να είναι σε ολόκληρο τον ιστότοπο, μπορείτε να γράψετε στο πεδίο διακομιστή ή http, για παράδειγμα:
Στη συνέχεια, εισαγάγετε την ακόλουθη εντολή για να φορτώσετε ξανά τη διαμόρφωση nginx:
|