Haftungsausschluss: Dieser Artikel wurde durch maschinelle Übersetzung erstellt.

Nginx-Server - Hosting von Unterordnern

Prev Next
Professionell
Geschäft
Unternehmen






Nginx ist ein Open-Source-Webserver. Um mehr zu erfahren, besuchen Sie die Nginx-Dokumentation


Einrichten eines Unterordners/Unterverzeichnisses

Beispiel:

ANMERKUNG

Ersetzen Sie die Beispieldomäne durch Ihre eigene von document360 bereitgestellte Domäne/benutzerdefinierte Domäne.

  • Beispieldomäne, die mit example.document360.io

  • Unterordner-/Unterverzeichnispfad (/docs), dargestellt als example.document360.io/docs

  1. Fügen Sie die folgenden Standortblöcke in Ihrer Nginx-Konfigurationsdatei hinzu (/etc/nginx/default).

location /docs {
    proxy_pass https://example.document360.io/docs;
    proxy_set_header Host example.document360.io;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header "requested-by" "proxy";
    proxy_ssl_server_name   on;
}
  1. Starten Sie den Nginx-Webserver neu

  2. Wenn Sie beispielsweise Nginx unter Linux verwenden, verwenden Sie den Befehl
    $ sudo systemctl restart nginx

ANMERKUNG

Wenn Sie die KB-Site 2.0 verwenden und Ihre Wissensdatenbank als Unterordner hosten möchten, müssen Sie den Unterordnerpfad sowie den Site-API-Pfad definieren.


So richten Sie die Einrichtung in einem anderen Pfad als dem Pfad '/docs' ein

  • Sie können Ihre Wissensdatenbank in anderen Unterverzeichnispfaden als /docseinrichten.
    Zum Beispiel, /help, /supportusw.

  • Wenn Sie andere Pfade einrichten, fügen Sie die Sprachen hinzu, die den einzelnen Arbeitsbereichen zugeordnet sind.

  • Um dies zu erreichen, müssen noch einige Zeilen hinzugefügt werden. Starten Sie den Server neu, sobald dies abgeschlossen ist.

Beispiel:

ANMERKUNG

Ersetzen Sie die von Document360 bereitgestellte Domäne und die Unterverzeichnisdomäne durch Ihre eigenen Domänen. Ersetzen Sie außerdem den Namen des Arbeitsbereichs, den Pfad des Unterordners und die Sprache durch Ihre Anforderungen.

  • Document360 bereitgestellte Domain, dargestellt als example.document360.io

  • Name des Arbeitsbereichs, dargestellt als /v1/

  • Pfad des Unterordners, dargestellt als /help/

  • Sprache, die wie /he im Hebräischen dargestellt wird.

location /help {
    proxy_pass https://example.document360.io/docs;
    proxy_set_header Host example.document360.io;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header "requested-by" "proxy";
    proxy_ssl_server_name   on;

    sub_filter "v1/docs/" "v1/help/";
    sub_filter "docs/he/" "/help/he";
    sub_filter "/docs/" "/help/";
    sub_filter_once off;
}
  1. Starten Sie den Nginx-Webserver neu

  2. Wenn Sie beispielsweise Nginx unter Linux verwenden, verwenden Sie den Befehl
    $ sudo systemctl restart nginx


So aktivieren Sie die Dropdown-Liste "Arbeitsbereiche"

Wenn Sie die Dropdown-Navigation für den Arbeitsbereich für Ihr Projekt aktivieren möchten, wenn Sie in einem benutzerdefinierten Unterverzeichnis und Pfad hosten, fügen Sie die folgenden Codes für jeden der in Ihrem Projekt verfügbaren Arbeitsbereiche hinzu.

Beispiel:

Nehmen wir an, dass in Ihrem Projekt zwei Arbeitsbereiche verfügbar sind: v1 und v2. In diesem Fall müssen Sie zwei Codeblöcke hinzufügen, einen für jeden Arbeitsbereich.

ANMERKUNG

Ersetzen Sie die von Document360 bereitgestellte Domäne und die Unterverzeichnisdomäne durch Ihre eigenen Domänen. Ersetzen Sie außerdem den Namen des Arbeitsbereichs, den Pfad des Unterordners und die Sprache durch Ihre Anforderungen.

  • Document360 bereitgestellte Domain, dargestellt als example.document360.io

  • Name des Arbeitsbereichs, dargestellt als /v1/,/v2/

  • Pfad des Unterordners, dargestellt als /help/

  • Sprache, die wie /he im Hebräischen dargestellt wird.

location /v2/help {
    proxy_pass https://example.document360.io/v2/docs;
    proxy_set_header Host example.document360.io;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header "requested-by" "proxy";
    proxy_ssl_server_name   on;

    sub_filter "v2/docs/" "v2/help/";
    sub_filter "docs/he/" "/help/he";
    sub_filter "/docs/" "/help/";
    sub_filter_once off;
}
-----------------------------------------------------
location /v1/help {
    proxy_pass https://example.document360.io/v1/docs;
    proxy_set_header Host example.document360.io;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header "requested-by" "proxy";
    proxy_ssl_server_name   on;

    sub_filter "v1/docs/" "v1/help/";
    sub_filter "docs/he/" "/help/he";
    sub_filter "/docs/" "/help/";
    sub_filter_once off;
}
-----------------------------------------------------
location = /v2/docs {
    return 301 /v2/help;
}
-----------------------------------------------------
location = /v1/docs {
    return 301 /v1/help;
}

ANMERKUNG

Wenn Sie möchten, dass Ihre Leser über das Dropdown-Menü (per Mausklick) zwischen den verschiedenen öffentlichen Arbeitsbereichen Ihres Projekts navigieren, fügen Sie den Standortblock für alle verfügbaren Arbeitsbereiche hinzu.

  1. Starten Sie den Nginx-Webserver neu

  2. Wenn Sie beispielsweise Nginx unter Linux verwenden, verwenden Sie den Befehl
    $ sudo systemctl restart nginx


Hilfreiche Links

Hier sind ein paar externe Links, die Ihnen helfen können, die Standortblöcke des Nginx-Servers im Detail zu verstehen:


Sitemap-Generierung

Beispiel:

ANMERKUNG

Ersetzen Sie die Beispieldomäne durch Ihre eigene von document360 bereitgestellte Domäne/benutzerdefinierte Domäne.

  • Beispieldomäne, die mit example.document360.io

  • Das Sitemap-Präfix bleibt bis auf den Sprachcode (en, fr, de usw.) unverändert.  example.document360.io/sitemap.xml.en

location /sitemap.xml.en {
proxy_pass https://example.document360.io/sitemap.xml.en;
proxy_set_header Host example.document360.io;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header "requested-by" "proxy";
proxy_ssl_server_name   on;

Startseite, die in einem Unterordner gehostet wird

Um die Startseite Ihres Projekts in einem benutzerdefinierten Unterverzeichnis-/Unterordnerpfad zu hosten, fügen Sie die folgenden Codes für jeden der in Ihrem Projekt verfügbaren Homepage-Arbeitsbereiche hinzu.

Beispiel:

Nehmen wir an, dass in Ihrem Projekt zwei Arbeitsbereiche verfügbar sind: V1 und V2. In diesem Fall müssen Sie zwei Codeblöcke hinzufügen, einen für jeden Arbeitsbereich.

ANMERKUNG

Ersetzen Sie die von Document360 bereitgestellte Domäne und die Unterverzeichnisdomäne durch Ihre eigenen Domänen. Ersetzen Sie außerdem den Namen des Arbeitsbereichs, den Pfad des Unterordners und die Sprache durch Ihre Anforderungen.

  • Document360 bereitgestellte Domain, dargestellt als example.document360.io

  • Name des Arbeitsbereichs, dargestellt als /v1/,/v2/

location =/v1 {
proxy_pass https://example.document360.io/;
proxy_set_header Host example.document360.io;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header "requested-by" "proxy";
proxy_ssl_server_name   on;
}
location =/v2 {
proxy_pass https://example.document360.io/;
proxy_set_header Host example.document360.io;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header "requested-by" "proxy";
proxy_ssl_server_name   on;
}
location /v1/en {
  return 301 /v1;
}
location /v2/en {
  return 301 /v2;
}

PROFI-TIPP

Das Gleichheitszeichen kann verwendet werden, wenn der Speicherort mit dem genauen Anforderungs-URI übereinstimmen muss. Wenn dieser Modifizierer übereinstimmt, wird die Suche genau hier gestoppt. Weitere Informationen finden Sie click here.

Beispiel: location =/help {

  1. Starten Sie den Nginx-Webserver neu

  2. Wenn Sie beispielsweise Nginx unter Linux verwenden, verwenden Sie den Befehl
    $ sudo systemctl restart nginx

Startseite der Wissensdatenbank

Die Standardstartseite für eine Wissensdatenbank-Site wird im Stammverzeichnis angezeigt (z. B example.document360.io. ). Wenn das Projekt einen Arbeitsbereich und eine sprachspezifische Startseite enthält, lautet der Slug nach dem Stammverzeichnis /<workspace_name>/<language_code>. (Zum Beispiel,example.document360.io/v2/he)


Wie geht es weiter?

Nachdem Sie den Webserver erfolgreich konfiguriert haben, ist Ihre Wissensdatenbank-Site in Ihrem benutzerdefinierten Unterordner/Unterverzeichnis live. Die vorhandene URL für Ihr Projekt bedient jedoch die Anforderungen.

Zum Beispiel example.document360.io und example.com/docs (if /docs ist Ihr Ordnerpfad) verweist auf die Wissensdatenbank-Website.

Dies kann zu doppelten Inhalten in Suchmaschinen (Google, Bing usw.) führen. Um dies zu verhindern, ist eine Weiterleitung von der Document360-Projektunterdomäne zu Ihrer benutzerdefinierten Domäne erforderlich.

ANMERKUNG

Um die Weiterleitung von example.document360.io nach zu example.com/docsaktivieren, kontaktieren Sie uns bitte unter support@document360.com.


Fehlerbehebung

Dieser Abschnitt enthält eine Schritt-für-Schritt-Anleitung zur Behebung häufiger Probleme, die während des NGINX-Einrichtungsprozesses auftreten können. Von Problemen beim Hosten von Unterordnern bis hin zu fehlgeschlagenen Konfigurationstests ist jede Lösung so konzipiert, dass sie Ihnen hilft, potenzielle Hindernisse schnell zu identifizieren und zu beheben und eine reibungslose und effiziente Serverkonfiguration zu gewährleisten.

Ungültige Standortanweisung in NGINX beheben

Fehler: nginx: [emerg] "location"-Direktive ist hier nicht erlaubt

Dieser Fehler tritt auf, wenn eine location-Direktive außerhalb ihres gültigen Kontexts platziert wird, z. B. außerhalb des Serverblocks. In NGINX müssen Standortblöcke innerhalb eines Serverblocks definiert werden.

Schritte zur Behebung:

  1. Stellen Sie sicher, dass der Standortblock korrekt innerhalb des Serverblocks platziert ist. Sehen Sie sich den folgenden Beispielblock an:

    server {
        listen 80;
        server_name example.com;
        location /docs {
            proxy_pass https://example.document360.io/docs;
            proxy_set_header Host example.document360.io;
        }
    }
  2. Um dieses Problem zu vermeiden, platzieren Sie Standortdirektiven nicht im globalen http Kontext oder außerhalb des Kontexts server .

  3. Wenn das Problem nach dem Ausführen dieser Schritte weiterhin besteht, wenden Sie sich an das Document360-Support-Team, um weitere Unterstützung zu erhalten: Wenden Sie sich an den Document360-Support

Problem mit der Verfügbarkeit des Certbot-Pakets

Fehler: Kein Paket Certbot verfügbar

Dieses Problem tritt häufig auf, wenn das EPEL-Repository (erforderlich für die Certbot-Installation auf RHEL-basierten Distributionen) nicht aktiviert ist oder der Paketmanager Certbot auf RHEL-basierten Distributionen nicht finden kann.

Schritte zur Behebung:

  1. Aktivieren Sie das EPEL-Repository mit dem folgenden Code:

    sudo yum install epel-release
  2. Aktualisieren Sie den Repository-Cache und versuchen Sie erneut, Certbot zu installieren, indem Sie den folgenden Code verwenden:

    sudo yum install certbot
  3. Stellen Sie sicher, dass Ihre Instance über Internetzugriff verfügt, um die Repository-Dateien abzurufen. Wenn das Problem weiterhin besteht, überprüfen Sie die Repository-Konfigurationsdateien in /etc/yum.repos.d/.

  4. Wenn das Problem nach dem Ausführen dieser Schritte weiterhin besteht, wenden Sie sich an das Document360-Support-Team, um weitere Unterstützung zu erhalten: Wenden Sie sich an den Document360-Support

Problem mit dem NGINX-Konfigurationstest

Fehler: NGINX-Konfigurationstest fehlgeschlagen

Dieses Problem tritt auf, wenn in der NGINX-Konfigurationsdatei ein Syntaxfehler auftritt.

Schritte zum Beheben vone:

  1. Führen Sie den Befehl configuration test aus:

    sudo nginx -t
  2. Überprüfen Sie die Fehlermeldung und die Zeilennummer wie im folgenden Beispiel:

    nginx: [emerg] invalid parameter "proxy_pas" in /etc/nginx/sites-enabled/example:22
    nginx: configuration file /etc/nginx/nginx.conf test failed
  3. Öffnen Sie die angegebene Datei /etc/nginx/sites-enabled/example , und beheben Sie das Konfigurationsproblem. Zum Beispiel:

    # Incorrect
    proxy_pas https://example.com;
    
    # Correct
    proxy_pass https://example.com;
  4. Sobald das Konfigurationsproblem behoben ist, starten Sie NGINX neu:

    sudo systemctl restart nginx
  5. Wenn das Problem nach dem Ausführen dieser Schritte weiterhin besteht, wenden Sie sich an das Document360-Support-Team, um weitere Unterstützung zu erhalten: Wenden Sie sich an den Document360-Support

Ausgabe des SSL-Zertifikats

Fehler: SSL-Zertifikat funktioniert nicht

Dieses Problem kann aufgrund einer falschen NGINX-SSL-Konfiguration auftreten oder wenn ein Problem mit dem installierten Zertifikat vorliegt. Die Zertifikatsdetails wie Domäne und Ablaufdatum stimmen möglicherweise nicht mit den Konfigurationsdetails überein.

Schritte zur Behebung:

  1. Überprüfen Sie die Zertifikatdateien mithilfe des folgenden Codes:

    openssl x509 -in /etc/letsencrypt/live/yourdomain.com/fullchain.pem -text -noout
  2. Stellen Sie sicher, dass Ihre Konfiguration mit den Zertifikatsdetails übereinstimmt, z. B. Domäne und Ablaufdatum.

  3. Stellen Sie sicher, dass die NGINX-SSL-Konfiguration korrekt ist. Beziehen Sie sich als Beispiel auf den folgenden Code:

    server {
        listen 443 ssl;
        server_name yourdomain.com;
        
        ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
    }
  4. Wenn Sie fertig sind, starten Sie NGINX mit dem folgenden Code neu:

    sudo systemctl restart nginx
  5. Wenn das Problem nach dem Ausführen dieser Schritte weiterhin besteht, wenden Sie sich an das Document360-Support-Team, um weitere Unterstützung zu erhalten: Wenden Sie sich an den Document360-Support


Häufig gestellte Fragen

Warum ist die Startseite meiner Website nicht verfügbar?

Nachdem Sie die Startseite des Projekts mit dem Site Builder entworfen haben, stellen Sie sicher, dass Sie sie veröffentlicht haben. Vergewissern Sie sich, dass die Startseite live und für die beabsichtigte Zielgruppe zugänglich ist.