


So binden Sie den sekundären Domänennamen des Nginx-Reverse-Proxys
1. Anwendungsszenarien
Wir stoßen häufig auf Situationen, in denen mehrere Websites auf demselben Server eingerichtet sind. Eine gängige Praxis besteht darin, unterschiedliche Ports für verschiedene Sites zu konfigurieren, damit auf sie in Form von ip:port zugegriffen werden kann.
Aber schließlich ist die Verwendung von IP für den Zugriff umständlich, nicht anschaulich und nicht leicht zu merken. Dann können wir unterschiedliche Domänennamen an jede Site binden. (Hier sprechen wir nur über die Situation im öffentlichen Netzwerk.) Selbst wenn wir nur einen Domänennamen haben, können wir mehrere Domänennamen der zweiten Ebene einrichten, was mit Nginx leicht zu erreichen ist.
2. Grundvoraussetzungen
Normalerweise veröffentlichen Online-Tutorials direkt einen Code für die Konfigurationsdatei und teilen uns mit, dass dies in Ordnung ist. Ich habe jedoch festgestellt, dass viele Anfänger nicht so erfolgreich sein können wie Blogger, nachdem sie sich die Konfiguration des Tutorials angesehen haben. Lassen Sie uns als Nächstes über die Grundprinzipien sprechen.
Zuallererst müssen Sie einen Domainnamen haben, den Sie verwalten können. Ich habe zum Beispiel den Domainnamen postmsg.cn, der mehrere Subdomainnamen für Tausende von Generationen generieren kann...
Zweitens Es muss sich um einen zugänglichen öffentlichen Netzwerkserver handeln. Auf diesem Server können Sie Ihre eigene Website erstellen, einen, zwei, drei oder vier, mit verschiedenen entsprechenden Ports.
Dann gibt es noch die Bindung des Domainnamens und der Site, eine Karotte und eine Grube, natürlich können Sie auch mehrere Karotten und eine Grube haben...
3. Allgemeine Konfiguration
Es gibt zwei Orte, die konfiguriert werden müssen, sind auch etwas, das einige Anfänger gerne übersehen.
(1) Domänennamenkonfiguration
Es ist üblich, dass jeder daran denkt, die Auflösung des Domänennamens auf unseren öffentlichen Netzwerkserver zu verweisen. Beim Parsen können Sie nur IP hinzufügen, aber keine Portnummer, d. h. Sie können nur den Standardport 80 verwenden. (Die Weiterleitung von Domänennamen wird nicht besprochen)
Wenn Sie die Bindung von Subdomänennamen implementieren möchten, müssen Sie diese während der Domänennamenauflösung ordnungsgemäß konfigurieren. Andernfalls wird es nicht funktionieren, sich nur auf Nginx zu verlassen.
Wenn ich beispielsweise den Subdomainnamen p.postmsg.cn an Port 8001 des Servers binden möchte, muss ich zunächst sicherstellen, dass die Zugriffsanforderung auf p.postmsg.cn den Server erreichen kann, und dann kann Nginx sie verarbeiten .
Fügen Sie zu diesem Zeitpunkt entweder einen Host-Eintrag von p im Domänennamen mit einer Datensatzauflösung hinzu oder konfigurieren Sie den Platzhalter * im Host-Eintrag (jeder Zugriff auf *.postmsg.cn wird auf den entsprechenden Server aufgelöst, verwenden Sie ihn mit Vorsicht). , nur @ und www setzen ist definitiv nicht möglich.
int in Nginx
Wenn Sie die Nginx-Konfiguration ändern, können Sie diese direkt in der Standardkonfigurationsdatei ändern (z. B. /etc/nginx/nginx.conf, wie im folgenden Codeausschnitt gezeigt) oder Sie können eine neue unabhängige Konfigurationsdatei in a erstellen Erstellen Sie ein bestimmtes Verzeichnis und fügen Sie dann Konfigurationsdateien in dieses Verzeichnis ein (wie in Zeile 17 gezeigt).
http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; include /etc/nginx/conf.d/*.conf; }
Dies ist das Format für Nginx zum Lesen von Konfigurationsdateien. Unsere Konfiguration wird normalerweise in den Block http {} und den Serverblock geschrieben und im Serverblock konfiguriert. Wie gerade erwähnt, kann der Serverblock in eine separate Datei geschrieben und in nginx.conf eingebunden werden. Gleichzeitig wird verschachteltes Include unterstützt.
Als nächstes schauen wir uns an, wie der Serverblock geschrieben ist:
server { listen 80; server_name p.postmsg.cn; location / { proxy_pass http://127.0.0.1:8008; proxy_redirect off; proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; } #access_log logs/p_access.log; }
Der Servername entspricht hier dem konfigurierten Domänennamen und Proxy_Pass entspricht der tatsächlichen Adresse des Proxys.
(3) Hinweis 1
Stellen Sie sicher, dass Sie Port 80 Nginx überlassen, das für den Proxy verantwortlich ist. Wir können Apache httpd, nginx und tomcat gleichzeitig auf einem Server verwenden, aber die Domänennamenauflösung kann nur den Standardport 80 verwenden, und die für die Agentur verantwortlichen Kameraden müssen die Anfragen aus erster Hand erhalten.
(4) Hinweis 2
Es ist sofort wirksam. Einige Freunde haben das Gefühl, alles richtig konfiguriert und den Dienst neu gestartet zu haben, können aber einfach nicht die gewünschten Ergebnisse sehen. Hier gibt es drei mögliche Faktoren.
Wirksamkeitszeit der Domainnamenauflösung
- . Die minimale Gültigkeitsdauer des Domainnamens von Alibaba Cloud beträgt 10 Minuten und kann manchmal länger als dieser Wert sein.
-
-
-
Das obige ist der detaillierte Inhalt vonSo binden Sie den sekundären Domänennamen des Nginx-Reverse-Proxys. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So konfigurieren Sie einen Nginx -Domänennamen auf einem Cloud -Server: Erstellen Sie einen Datensatz, der auf die öffentliche IP -Adresse des Cloud -Servers zeigt. Fügen Sie virtuelle Hostblöcke in die NGINX -Konfigurationsdatei hinzu, wobei der Hörport, Domänenname und das Root -Verzeichnis der Website angegeben werden. Starten Sie Nginx neu, um die Änderungen anzuwenden. Greifen Sie auf die Konfiguration des Domänennamens zu. Weitere Hinweise: Installieren Sie das SSL -Zertifikat, um HTTPS zu aktivieren, sicherzustellen, dass die Firewall den Verkehr von Port 80 ermöglicht, und warten Sie, bis die DNS -Auflösung wirksam wird.

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

Die Methoden, die die Nginx -Version abfragen können, sind: Verwenden Sie den Befehl nginx -v; Zeigen Sie die Versionsrichtlinie in der Datei nginx.conf an. Öffnen Sie die Nginx -Fehlerseite und sehen Sie sich den Seitentitel an.

Startschritte des Docker -Containers: Ziehen Sie das Containerbild: Führen Sie "Docker Pull [Mirror Name]" aus. Erstellen eines Containers: Verwenden Sie "Docker erstellen [Optionen] [Spiegelname] [Befehle und Parameter]". Starten Sie den Container: Führen Sie "Docker Start [Container Name oder ID]" aus. Containerstatus überprüfen: Stellen Sie sicher, dass der Container mit "Docker PS" ausgeführt wird.

Das Starten eines Nginx-Servers erfordert unterschiedliche Schritte gemäß verschiedenen Betriebssystemen: Linux/UNIX-System: Installieren Sie das NGINX-Paket (z. B. mit APT-Get oder Yum). Verwenden Sie SystemCTL, um einen Nginx -Dienst zu starten (z. B. sudo systemctl start nginx). Windows -System: Laden Sie Windows -Binärdateien herunter und installieren Sie sie. Starten Sie Nginx mit der ausführbaren Datei nginx.exe (z. B. nginx.exe -c conf \ nginx.conf). Unabhängig davon, welches Betriebssystem Sie verwenden, können Sie auf die Server -IP zugreifen

Erstellen Sie einen Container in Docker: 1. Ziehen Sie das Bild: Docker Pull [Spiegelname] 2. Erstellen Sie einen Container: Docker Ausführen [Optionen] [Spiegelname] [Befehl] 3. Starten Sie den Container: Docker Start [Containername]
