Nginx-Zugriffsbeschränkungskonfiguration zur Verhinderung böswilliger Zugriffe und Crawler-Angriffe
Einführung:
Im heutigen Internetzeitalter sind böswillige Zugriffe und Crawler-Angriffe zu großen Sicherheitsbedrohungen geworden. Als Hochleistungs-Webserver und Reverse-Proxy-Server kann Nginx den Zugriff durch einige Konfigurationen einschränken, um die Website vor diesen Angriffen zu schützen. In diesem Artikel werden einige häufig verwendete Nginx-Zugriffsbeschränkungskonfigurationen mit Codebeispielen vorgestellt.
1. IP-Blacklist- und Whitelist-Einschränkungen
http { # 创建一个blacklist.conf文件来存储黑名单的IP地址 include blacklist.conf; server { location / { # 在这里设置黑名单的访问规则 deny 192.168.1.100; deny 192.168.1.0/24; deny 10.0.0.0/8; # 其他配置... } } }
Die obige Konfiguration ist einfach und klar. Sie können den Zugriff direkt im Standortblock verwenden, um den Zugriff auf die angegebene IP-Adresse oder den IP-Adressbereich zu verweigern.
http { # 创建一个whitelist.conf文件来存储白名单的IP地址 include whitelist.conf; server { location / { # 在这里设置白名单的访问规则 allow 192.168.1.100; allow 192.168.1.0/24; allow 10.0.0.0/8; # 最后拒绝所有其他访问 deny all; # 其他配置... } } }
In der obigen Konfiguration verwenden Sie den Befehl „allow“, um den Zugriff auf die angegebene IP-Adresse oder den angegebenen IP-Adressbereich zu erlauben, und „deny all“, um den Zugriff auf alle anderen IP-Adressen zu verweigern.
2. User-Agent-Einschränkungen
Einige Crawler-Angriffe nutzen gefälschte User-Agents für den Zugriff, sodass wir solche Angriffe durch die Einschränkung von User-Agents verhindern können.
http { server { location / { # 在这里设置拒绝某些特定User-Agent的访问 if ($http_user_agent ~* (curl|wget) ) { return 403; } # 其他配置... } } }
Verwenden Sie in der obigen Konfiguration den if-Befehl plus einen regulären Ausdruck, um einen bestimmten Benutzeragenten abzugleichen, und verwenden Sie dann den return-Befehl, um 403 Forbidden zurückzugeben.
Auf diese Weise werden Anfragen, die versuchen, mit Tools wie Curl oder Wget auf die Website zuzugreifen, abgelehnt.
3. Frequenzbegrenzung
Um DDoS-Angriffe und Brute-Force-Cracking zu verhindern, können Sie Zugriffsfrequenzbegrenzungen festlegen.
http { limit_req_zone $binary_remote_addr zone=one:10m rate=2r/s; server { location / { # 在这里设置访问频率限制 limit_req zone=one burst=10 nodelay; # 其他配置... } } }
Verwenden Sie in der obigen Konfiguration den Befehl limit_req_zone, um einen Speicherbereich zum Speichern von IP-Adressen zu erstellen. Der Name ist eins, die Größe beträgt 10 m und die Zugriffsfrequenz ist auf 2r/s eingestellt. Verwenden Sie dann den Befehl limit_req im Standortblock, um die Häufigkeit zu begrenzen. Der Burst-Parameter gibt die Puffergröße an, wenn der Zugriff überschritten wird, und nodelay gibt an, dass die Anforderung sofort verarbeitet werden soll.
Zusammenfassung:
Durch die oben genannten Konfigurationsbeispiele für IP-Black- und Whitelist-Einschränkungen, User-Agent-Einschränkungen und Frequenzbeschränkungen können wir böswilligen Zugriff und Crawler-Angriffe wirksam verhindern. Natürlich kann die spezifische Konfiguration entsprechend den tatsächlichen Anforderungen angepasst werden. Abschließend hoffe ich, dass der obige Inhalt für die Konfiguration Ihrer Nginx-Zugriffsbeschränkung hilfreich sein kann.
Das obige ist der detaillierte Inhalt vonKonfiguration der Nginx-Zugriffsbeschränkung, um böswilligen Zugriff und Crawler-Angriffe zu verhindern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!