Nginx verbirgt die Versionsnummer In einer Produktionsumgebung müssen Sie die Versionsnummer von Nginx verbergen, um die Offenlegung von Sicherheitslücken zu vermeiden. Methode anzeigen Verwenden Sie das Fiddler-Tool, um die Nginx-Versionsnummer auf dem Windows-Client zu überprüfen. Verwenden Sie den Befehl „curl -I URL“, um sie auf dem CentOS-System zu überprüfen. So verbergen Sie die Versionsnummer in Nginx Ändern Sie die Konfigurationsdatei Ändern Sie den Quellcode 1. Installieren Sie Nginx 1. Verwenden Sie Remote-Sharing unter Linux, um Dateien abzurufen und sie im mnt-Verzeichnis bereitzustellen [root@localhost ~]# smbclient -L //192.168.100.3/ ##Remote-Freigabezugriff Geben Sie das Kennwort von SAMBA\root ein: Freigabename Typ Kommentar --------- ---- ------- LNMP-C7-Diskette [root@localhost ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt ##In das Verzeichnis /mnt einbinden 2. Entpacken Sie das Quellpaket nach /opt und überprüfen Sie [root@localhost ~]# cd /mnt ##Zum Einhängeverzeichnis wechseln [root@localhost mnt]# ls Discuz_X3.4_SC_UTF8.zip nginx-1.12.2.tar.gz mysql-boost-5.7.20.tar.gz php-7.1.20.tar.gz [root@localhost mnt]# tar zxvf nginx-1.12.2.tar.gz -C /opt ##Entpacken Sie das Nginx-Quellpaket nach /opt [root@localhost mnt]# cd /opt/ ##Wechseln Sie in das entpackte Verzeichnis [root@localhost opt]# ls nginx-1.12.2 rh 3. Installieren Sie das für die Kompilierung erforderliche Umgebungskomponentenpaket [root@localhost opt]# yum -y install \ gcc \ //C-Sprache gcc-c++ \ //C++-Sprache pcre-devel \ //PCRE-Sprachtool zlib-devel //Bibliothek zur Datenkomprimierung 4. Programmbenutzer nginx erstellen und Nginx kompilieren [root@localhost opt]# useradd -M -s /sbin/nologin nginx ##Erstellen Sie einen Programmbenutzer, der sicher und für die Anmeldung nicht verfügbar ist [root@localhost opt]# id nginx UID = 1001 (nginx) GID = 1001 (nginx) Gruppe = 1001 (nginx) [root@localhost opt]# cd nginx-1.12.0/ ##Wechseln Sie zum nginx-Verzeichnis [root@localhost nginx-1.12.0]# ./configure \ ##nginx konfigurieren > --prefix=/usr/local/nginx \ ##Installationspfad> --user=nginx \ ##Benutzername> --group=nginx \ ##Benutzergruppe> --with-http_stub_status_module ##Statusstatistikmodul 5. Kompilieren und installieren [root@localhost nginx-1.12.0]# make ##Kompilieren… [root@localhost nginx-1.12.0]# make install ##Installieren… [root@localhost nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ ##Erstellen Sie einen Softlink, damit das System das Nginx-Startskript erkennt 6. Erstellen Sie Management-Skripte, um das Service-Management zu erleichtern [root@localhost nginx]# cd /etc/init.d/ ##Wechseln Sie zum Verzeichnis der Startkonfigurationsdatei [root@localhost init.d]# ls Funktionen Netconsole Netzwerk README [root@localhost init.d]# vim nginx ##Bearbeiten Sie die Startskriptdatei #!/bin/bash # chkconfig: - 99 20 ##Kommentarinformationen# Beschreibung: Nginx Service Control Script PROG="/usr/local/nginx/sbin/nginx" ##Setzen Sie die Variable auf die Nginx-Befehlsdatei. PIDF="/usr/local/nginx/logs/nginx.pid" ##Setzen Sie die variable PID-Dateiprozessnummer auf 5346. Fall "$1" in Start) $PROG ##Dienst starten;; stoppen) kill -s QUIT $(cat $PIDF) ##Dienst schließen;; Neustart) ##Starten Sie den Dienst neu $0 stop $0 Start ;; neu laden) ##Dienst neu laden kill -s HUP $(cat $PIDF) ;; *) ##Fehler bei der Eingabeaufforderung echo "Verwendung: $0 {start|stop|restart|reload}" Ausfahrt 1 esac Ausfahrt 0 [root@localhost init.d]# chmod +x /etc/init.d/nginx ##Geben Sie dem Startskript die Ausführungsberechtigung. [root@localhost init.d]# chkconfig --add nginx ##Zum Service-Manager hinzufügen [root@localhost init.d]# service nginx stop ##Sie können den Dienst verwenden, um nginx zu steuern [root@localhost init.d]# Dienst nginx start 2. Versionsnummer ausblenden [root@localhost init.d]# curl -I http://192.168.13.140/ ##Nginx-Informationen anzeigen HTTP/1.1 200 OK Server: nginx/1.12.2 ##Versionsnummer anzeigen Datum: Di., 12. Nov. 2019 14:23:24 GMT Inhaltstyp: text/html Inhaltslänge: 612 Letzte Änderung: Dienstag, 12. November 2019, 13:46:35 Uhr GMT Verbindung: Keep-Alive ETag: "5dcab7bb-264" Akzeptierte Bereiche: Bytes [root@localhost init.d]# vim /usr/local/nginx/conf/nginx.conf ##Ändern Sie die Konfigurationsdatei http { ##Fügen Sie include mime.types unter http hinzu; Standardtyp Anwendung/Oktett-Stream; server_tokens off; ##Versionsnummer ausschalten [root@localhost init.d]# service nginx stop ##Dienst ausschalten [root@localhost init.d]# service nginx start ##Dienst einschalten [root@localhost init.d]# curl -I http://192.168.13.140/ ##Nginx-Informationen anzeigen HTTP/1.1 200 OK Server: nginx ##Versionsnummer ist ausgeblendet Datum: Di., 12. Nov. 2019 14:22:00 GMT Inhaltstyp: text/html Inhaltslänge: 612 Letzte Änderung: Dienstag, 12. November 2019, 13:46:35 Uhr GMT Verbindung: Keep-Alive ETag: "5dcab7bb-264" Akzeptierte Bereiche: Bytes 3. Versionsnummer fälschen (muss neu kompiliert und installiert werden, kann vor dem Kompilieren und Installieren durchgeführt werden) 1. Öffnen Sie die Versionsnummer [root@localhost init.d]# vim /usr/local/nginx/conf/nginx.conf http { mime.types einschließen; Standardtyp Anwendung/Oktett-Stream; server_tokens on; ##Versionsnummer öffnen 2. Ändern Sie die Nginx-Quellpaketdatei [root@localhost init.d]# cd /opt/nginx-1.12.2/src/core/ ##Wechseln Sie zum Verzeichnis des src-Quellpakets [root@localhost core]# vim nginx.h ##Ändern Sie die Datei #define NGINX_VERSION "1.1.1" ##Die Versionsnummer wird hier auf 1.1.1 gefälscht. 3. Neu kompilieren und installieren [root@localhost core]# cd /opt/nginx-1.12.2/ ##Verzeichnis zu Nginx wechseln [root@localhost nginx-1.12.2]# ./configure \ ##Neu konfigurieren> --prefix=/usr/local/nginx \ > --user=nginx \ > --group=nginx \ > --mit-http_stub_status_module [root@localhost nginx-1.12.0]# make ##Neu kompilieren… [root@localhost nginx-1.12.0]# make install ##Neu installieren... 4. Starten Sie den Nginx-Dienst neu und überprüfen Sie die Versionsinformationen [root@localhost nginx-1.12.2]# service nginx stop ##Schließen [root@localhost nginx-1.12.2]# service nginx start ##Öffnen [root@localhost nginx-1.12.2]# curl -I http://192.168.13.140/ ##Nginx-Informationen anzeigen HTTP/1.1 200 OK Server: nginx/1.1.1 ##Die Versionsnummer zu diesem Zeitpunkt ist eine gefälschte Versionsnummer Datum: Di., 12. November 2019, 14:34:02 GMT Inhaltstyp: text/html Inhaltslänge: 612 Letzte Änderung: Dienstag, 12. November 2019, 13:46:35 Uhr GMT Verbindung: Keep-Alive ETag: "5dcab7bb-264" Akzeptierte Bereiche: Bytes Cache-Zeit für Nginx-Webseiten
So richten Sie es ein Sie können die Konfigurationsdatei ändern und Ablaufparameter für bestimmte Inhalte im HTTP-Abschnitt, Serverabschnitt oder Standortabschnitt hinzufügen. Experimentelle Umgebung Ein Nginx-Server und eine Testmaschine Win10 1. Kopieren Sie das Bild in das Nginx-Site-Verzeichnis [root@localhost ~]# cd /mnt/ ##Zum Einhängepunkt wechseln [root@localhost mnt]# ls 11.jpg mysql-boost-5.7.20.tar.gz php-7.1.20.tar.gz 22.jpg nginx-1.12.2.tar.gz Discuz_X3.4_SC_UTF8.zip php-7.1.10.tar.bz2 [root@localhost mnt]# cp 11.jpg /usr/local/nginx/html/ ##Kopieren Sie das Bild auf die Site[root@localhost mnt]# cd /usr/local/nginx/html/ ##Wechseln Sie zur Site[root@localhost html]# ls 11.jpg 50x.html index.html Zweitens ändern Sie die Webseiteninformationen und fügen das Bild zur Datei index.html hinzu [root@localhost html]# vim index.html ##Webseiteninformationen ändern</head> <Text> <h1>Willkommen bei nginx!</h1> <img src="11.jpg"/> ##Fügen Sie das Bild zur Webseite hinzu 3. Ändern Sie die Informationen in der Konfigurationsdatei [root@localhost html]# vim /usr/local/nginx/conf/nginx.conf ##Ändern Sie die Konfigurationsdatei events { Arbeiterverbindungen 1024; } Benutzer nginx nginx; ##Nginx-Benutzer und -Gruppe ändern # Zugriff auf .htaccess-Dateien verweigern, wenn Apaches Dokumentstamm # stimmt mit nginx überein # location ~\.(gif|jepg|jpg|ico|bmp|png)$ { ##Unterstütztes Bildformat root html; ##Site läuft in 1 Tag ab; ##Cache für einen Tag} [root@localhost html]# service nginx stop ##Schließen und öffnen Sie den Dienst [root@localhost html]# service nginx start Viertens: Verwenden Sie Fiddler, um den Cache anzuzeigen Nginx-Protokollschneiden Je länger Nginx läuft, desto länger werden auch die Protokolle. Um den Betriebsstatus von Nginx leicht zu erfassen, müssen Sie immer auf die Protokolldateien achten Eine zu große Logdatei ist eine Katastrophe für das Monitoring Logdateien regelmäßig kürzen Nginx selbst verfügt nicht über die Funktion zur Protokollsegmentierung, kann jedoch eine automatische Protokollsegmentierung über das Skript der Nginx-Signalsteuerungsfunktion realisieren und eine regelmäßige Protokollsegmentierung über geplante Linux-Aufgaben durchführen. 1. Schreiben Sie eine Skriptdatei zur Protokollsegmentierung [root@localhost ~]# vim fenge.sh ##Skriptdatei schreiben #!/bin/bash #Dateiname:fenge.sh d=$(date -d "-1 day" "+%Y%m%d") ##Zeit von vor einem Tag anzeigen logs_path="/var/log/nginx" ##Pfad für geteilte Protokolle speichern pid_path="/usr/local/nginx/logs/nginx.pid" ##PID-Pfad [ -d $logs_path ] || mkdir -p $logs_path ##Verzeichnis erstellen, falls kein Verzeichnis vorhanden ist mv /usr/local/nginx/logs/access.log ${logs_path}/test.com-access.log-$d ##Generieren Sie die ursprüngliche Protokolldatei im neuen Pfad kill -USR1 $(cat $pid_path) ##Beenden Sie die Neugenerierung der neuen PID-Datei find $logs_path -mtime +30 | xargs rm -rf ##Löschen Sie die Protokolldatei von vor 30 Tagen [root@localhost ~]# chmod +x fenge.sh ##Erteilen Sie die Ausführungsberechtigung [root@localhost ~]# ./fenge.sh ##Führen Sie die Skriptdatei aus 2. Überprüfen Sie die Protokollsegmentierung [root@localhost ~]# cd /var/log/nginx/ ##Wechseln Sie zum Nginx-Protokollverzeichnis [root@localhost nginx]# ls test.com-access.log-20191112 [root@localhost nginx]# date -s 2019-11-14 ##Ändern Sie das Datum auf die morgige Uhrzeit Donnerstag, 14. November 2019 00:00:00 CST [root@localhost nginx]# cd ~ [root@localhost ~]# ./fenge.sh ##Führen Sie das Skript erneut aus [root@localhost ~]# cd /var/log/nginx/ [root@localhost nginx]# ls ##Protokollsegmentierungsprotokolldateien anzeigen test.com-access.log-20191112 test.com-access.log-20191113 3. Richten Sie regelmäßig geplante Aufgaben ein [root@localhost nginx]# crontab -e ##Periodisch geplante Aufgaben 0 1 * * * /opt/fenge.sh Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Vue3 implementiert CSS unendlichen nahtlosen Scrolleffekt
>>: MySQL 8.0.15 Installations-Tutorial für Windows 64-Bit
1. useState: Funktionskomponenten Status geben An...
Inhaltsverzeichnis Vorwort Funktionale React-Komp...
1. Gestricheltes Feld, wenn die Abbrechen-Schaltfl...
Rendern Code - Nehmen Sie die blauen und gelben R...
Holen Sie sich die Anzahl der Verbindungen --- Ho...
In diesem Artikel wird die Installations- und Kon...
1. Einführung in TypeScript Im vorherigen Artikel...
Die Rolle des virtuellen DOM Zunächst müssen wir ...
Inhaltsverzeichnis Vorwort 1. Benutzerdefinierter...
Die Datei /etc/network/interfaces wird in Linux z...
Server-Abgleichlogik Wenn Nginx entscheidet, in w...
Der Code unter dem Easyui-Framework lautet wie fo...
Sie können die Trigger-Methode verwenden. In JavaS...
Bei der Erstellung von Webseiten ist das Anzeigen...
Da ich auf einen neuen Computer gewechselt bin, m...