Was sind die erweiterten Module von Nginx?

王林
Freigeben: 2020-11-06 16:58:00
nach vorne
2013 Leute haben es durchsucht

Was sind die erweiterten Module von Nginx?

nginx-Erweitertes Modul

secure_link_module-Modul

Funktion: Wird verwendet, um die Authentizität des Links (md5) und die Gültigkeitsdauer (läuft ab) zu überprüfen

(Lernvideo-Sharing: Java-Video-Tutorial)

nginx-Konfiguration

server {
    listen 7001;
    server_name study;
    root /home/jaryn/nginx_study/pic;

        location / {
                secure_link $arg_md5,$arg_expires;
                #md5生成方法和下面脚本一致,jaryn可以看成是服务端的“盐值”
                secure_link_md5 "$secure_link_expires$uri jaryn";

                if ($secure_link = "") {
                        return 403;
                }
                if ($secure_link = "0") {
                        return 410;
                }
        }
}
Nach dem Login kopieren

Die Schritte zum Generieren von Zugriffslinks secure_link_module.sh

#!/bin/sh
#
servername="www.jaryn.cn:7001"
download_file="/test.jepg"
time_num=$(date -d "2018-9-9 00:00:00" +%s)
secret_num="jaryn"

#利用openssl生成链接中的md5参数
res=$(echo -n "${time_num}${download_file} ${secret_num}"|openssl md5 -binary | openssl base64 | tr +/ -_ | tr -d = )
echo "http://${servername}${download_file}?md5=${res}&expires=${time_num}"
Nach dem Login kopieren

Führen Sie das Skript aus

[root@localhost nginx_study]# sh secure_link_module.sh 
http://www.jaryn.cn:7001/test.jepg?md5=MqtYCSugfDKmLiKuskPmuA&expires=1536422400
Nach dem Login kopieren

Das Ergebnis

Auf den generierten Link kann normal zugegriffen werden, aber wenn der Wert von md5 oder die Ablaufzeit geändert wird, wird 403 angezeigt.

http_geoip_module module

Funktion: Ordnen Sie die MaxMind GeoIP-Binärdatei basierend auf der IP-Adresse zu und lesen Sie die geografischen Informationen des IP-Standorts.

  • Unterschiede in den HTTP-Zugriffsregeln im In- und Ausland

  • Unterschiede in den http-Zugriffsregeln in inländischen Städten und Regionen

Installationsmodul ohne Modul

yum install nginx-module-geoip
Nach dem Login kopieren

Wenn Sie die Meldung erhalten, dass kein Softwarepaket verfügbar ist

nginx-module-geoip
Nach dem Login kopieren

Sie müssen das Yum der Nginx-Quelle ersetzen.

vim /etc/yum.repos.d/nginx.repo
Nach dem Login kopieren
.

Kopieren Sie den folgenden Inhalt hinein

Der Inhalt der Datei lautet wie folgt

 [nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
Nach dem Login kopieren

Laden Sie die GeoIP-Datendatei herunter.

Die Adresse lautet wie folgt:

cd /usr/share/nginx/modules/
vim self.conf
Nach dem Login kopieren

Entpacken Sie die entsprechende Datei

load_module "/usr/lib64/nginx/modules/ngx_http_geoip_module.so";
Nach dem Login kopieren

Fazit

Durch die Konfiguration. Der Zugriff von nicht-chinesischen IP-Adressen gibt 403 zurück und es kann nur auf chinesische IP-Adressen zugegriffen werden.

https-Modul (nginx ssl)

Wenn Linux nicht über das OpenSSL-Modul verfügt, installieren Sie OpenSSL selbst.

Geheimen Schlüssel und CA-Zertifikat generieren, http-ssl-module-Modul benötigen


Schlüssel und geheimen Schlüssel generieren

国家文件:http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
城市文件:http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
Nach dem Login kopieren

Zertifikatssignatur-Anforderungsdatei (CSR-Datei) generieren, Zertifikatssignaturdatei (CA-Datei) generieren

gunzip GeoIP.dat.gz
gunzip GeoLiteCity.dat.gz
Nach dem Login kopieren

nginx-Konfiguration

geoip_country /home/jaryn/nginx_study/data/GeoIP.dat;
geoip_city /home/jaryn/nginx_study/data/GeoLiteCity.dat;
server {
    listen 7001;
    server_name study;

        location / {
                if ($geoip_country_code != CN) {
                        return 403;
                }
                root /home/project/nginx-code;
                index admin.html;
        }
        #通过访问/myip可以获取相应的ip和geo信息
        location /myip {
                default_type text/plain;
                return 200 "$remote_addr $geoip_country_name $geoip_country_code $geoip_city";
        }
}
Nach dem Login kopieren

Besuchen

nginx: [emerg] module "/usr/lib64/nginx/modules/ngx_http_geoip_module.so" version 1012002 instead of 1014000 in /usr/share/nginx/modules/mod-http-geoip.conf:1
Nach dem Login kopieren

https-Dienstoptimierung

Keepalive-Long-Verbindung aktivieren

SSL-Sitzungscache einrichten

 yum remove nginx-mod*
 yum install nginx-module-*
Nach dem Login kopieren

Verwandte Empfehlungen:

nginx-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die erweiterten Module von Nginx?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!