Skonfiguruj hosting podścieżkowy za pomocą Nginx

Dowiedz się, jak umieścić centrum pomocy w ścieżce podrzędnej, np. /help, korzystając z odwrotnego serwera proxy Nginx.

3 min czytania

Możesz użyć Nginx do obsługi swojego centrum pomocy Notiondesk ze ścieżki podrzędnej swojej domeny głównej.

Na przykład zamiast używać subdomeny takiej jak help.yourdomain.com, możesz udostępnić swoje centrum pomocy pod adresem:

  • yourdomain.com/help
  • yourdomain.com/docs
  • yourdomain.com/support

Taka konfiguracja jest przydatna, jeśli Twoja główna witryna internetowa jest hostowana na serwerze VPS, serwerze dedykowanym lub infrastrukturze, w której Nginx jest już używany jako serwer WWW lub odwrotny serwer proxy.

Odwiedzający pozostają w Twojej domenie głównej, natomiast zawartość centrum pomocy znajduje się za wybraną podścieżką.

Zanim zaczniesz

Przed skonfigurowaniem hostingu podścieżkowego za pomocą Nginx upewnij się, że posiadasz:

  • Dostęp do serwera hostującego Twoją główną witrynę internetową
  • Dostęp do konfiguracji Nginx
  • Podścieżka, której chcesz użyć dla swojego centrum pomocy, np. /help, /docs lub /support

Powinieneś również wiedzieć, który blok Nginx server obsługuje domenę Twojej głównej witryny. W tym miejscu dodasz konfigurację odwrotnego proxy Notiondesk.

Włącz hosting podścieżek w Notiondesk

Najpierw włącz hosting podścieżek z poziomu pulpitu Notiondesk.

  1. Otwórz pulpit nawigacyjny Notiondesk
  1. Przejdź do Settings > General
  1. Przewiń do sekcji Domains
  1. Włącz przełącznik Subpath
  1. Zapisz zmiany
  1. Skopiuj wygenerowaną konfigurację Nginx

Notiondesk generuje konfigurację z prawidłowymi wartościami dla Twojego centrum pomocy, w tym domeną Twojego centrum pomocy Notiondesk i wybraną ścieżką podrzędną.

Dodaj konfigurację Nginx

Następnie dodaj wygenerowaną konfigurację Nginx do konfiguracji serwera swojej witryny.

Otwórz plik konfiguracyjny Nginx, który obsługuje główną domenę Twojej witryny, a następnie znajdź właściwy blok server.

Blok server powinien obsługiwać Twoją domenę główną, na przykład:

Wklej wygenerowane bloki Notiondesk location wewnątrz bloku server.

Konfiguracja powinna obsługiwać:

server {
    server_name yourdomain.com;

    # Your existing website configuration
}
  • Dokładna podścieżka centrum pomocy, na przykład /help
  • Zagnieżdżone strony centrum pomocy, na przykład /help/
  • Notiondesk trasy wewnętrzne, na przykład /_nd/

Przykład odwrotnego proxy Nginx

Oto przykład konfiguracji odwrotnego serwera proxy Nginx.

W tym przykładzie użyto:

location = /help {
    proxy_pass https://your-help-center.notiondesk.help;
    proxy_ssl_server_name on;
    proxy_ssl_name your-help-center.notiondesk.help;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Site-Path-Prefix /help;
}

location ^~ /help/ {
    proxy_pass https://your-help-center.notiondesk.help;
    proxy_ssl_server_name on;
    proxy_ssl_name your-help-center.notiondesk.help;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Site-Path-Prefix /help;
}

location ^~ /_nd/ {
    proxy_pass https://your-help-center.notiondesk.help;
    proxy_ssl_server_name on;
    proxy_ssl_name your-help-center.notiondesk.help;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
}
  • your-help-center.notiondesk.help jako domena centrum pomocy Notiondesk
  • /help jako wybrana ścieżka podrzędna

Twoja konfiguracja może używać innych wartości.

Przetestuj i przeładuj Nginx

Po dodaniu konfiguracji przetestuj konfigurację Nginx przed jej ponownym załadowaniem.

Uruchomić:

Jeżeli test zakończy się powodzeniem, przeładuj Nginx:

Polecenie reload może się różnić w zależności od konfiguracji serwera.

Po przeładowaniu Nginx otwórz centrum pomocy z wybranej ścieżki podrzędnej. Sprawdź, czy główna strona centrum pomocy ładuje się poprawnie.

nginx -t
sudo systemctl reload nginx

Powiązane artykuły

Czy ta strona była pomocna?