Przejdź do treści
ToolMug

Generator konfiguracji Nginx

Wpisz domenę, wybierz typ witryny i zaznacz potrzebne funkcje, aby otrzymać gotową konfigurację nginx. Obsługiwane są proxy, witryny statyczne, SPA i PHP.

Działa w przeglądarce — nic, co wpiszesz, nie jest wysyłane

HTTPS
Dodatki

0 zachowuje domyślny limit nginx wynoszący 1 MB.

Najpierw pobierz certyfikat, np. certbot certonly --webroot -w /var/www/letsencrypt -d example.com -d www.example.com. Następnie uruchom nginx -t i przeładuj nginx.

Jak używać

  1. Wpisz domenę i wybierz typ witryny, czyli adres upstream dla proxy albo katalog główny dla pozostałych.
  2. Włącz HTTPS, HTTP/2, HSTS, przekierowanie www, gzip, cache i nagłówki bezpieczeństwa według potrzeb.
  3. Skopiuj lub pobierz konfigurację do /etc/nginx/conf.d/, uruchom nginx -t i przeładuj nginx.

Opis opcji

Reverse proxy
Przekazuje do upstream oraz nagłówki Host, X-Real-IP, X-Forwarded-For i X-Forwarded-Proto, aby backend znał adres i schemat klienta.
Aplikacja jednostronicowa
Nieznane ścieżki wracają do index.html, więc routery React Router i Vue Router nie dają 404 po odświeżeniu.
HTTPS
Ścieżki certyfikatów używają domyślnych ustawień certbota i przekierowują HTTP kodem 301 do HTTPS. HTTP/2 jest zapisane w formie listen 443 ssl http2.
HSTS
Informuje przeglądarki, aby przez rok używały wyłącznie HTTPS dla domeny i subdomen. Najpierw upewnij się, że każda subdomena obsługuje HTTPS.

Przykład: aplikacja jednostronicowa z HTTPS i www

Dla domeny example.com z zaznaczonymi opcjami Aplikacja jednostronicowa, HTTPS, HTTP/2 oraz Obsługuj także www. i przekieruj je (a Kompresja Gzip, Nagłówki bezpieczeństwa i Długi cache dla plików statycznych wyłączone, aby było krócej) generator zapisuje trzy bloki server:

  1. Port 80 obsługuje obie nazwy, utrzymuje dostępność /.well-known/acme-challenge/ na potrzeby odnowienia certyfikatu i wszystko inne przekierowuje na https://example.com$request_uri kodem 301.
  2. Port 443 dla www.example.com używa tego samego certyfikatu i zwraca 301 do domeny bez www.
  3. Port 443 dla example.com obsługuje witrynę:
    root /var/www/example.com;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

Oba bloki HTTPS wskazują na /etc/letsencrypt/live/example.com/fullchain.pem i privkey.pem, dopuszczają TLS 1.2 i 1.3 oraz używają współdzielonej pamięci podręcznej sesji o rozmiarze 10 MB z jednodniowym limitem czasu sesji. Wiersz try_files sprawia, że odświeżenie strony na trasie po stronie klienta, takiej jak /settings, zwraca aplikację zamiast błędu 404.

Najczęściej zadawane pytania

Dlaczego nginx -t ostrzega, że parametr http2 jest przestarzały?

Od nginx 1.25.1 preferowana jest osobna dyrektywa http2 on, ale wersja 1.24 z Ubuntu 24.04 jej nie rozumie. Forma listen ... http2 działa wszędzie.

Czy certyfikat musi obejmować www?

Tak, gdy włączone jest przekierowanie www. Zamów obie nazwy, na przykład certbot -d example.com -d www.example.com.

Upload kończy się błędem 413. Co zrobić?

Domyślnie nginx pozwala na ciało żądania 1 MB. Ustaw maksymalny rozmiar przesyłania zgodnie z potrzebą, na przykład 100 MB.

Połączenia WebSocket przez proxy nie działają. Dlaczego?

Proxy musi przekazywać nagłówki Upgrade i Connection. Włączenie WebSocket dodaje je i podnosi limit czasu odczytu do godziny.

Prywatność

To narzędzie działa w całości w przeglądarce. Twoje pliki i tekst są przetwarzane na Twoim urządzeniu i nigdy nie trafiają na nasze serwery.

Podobne narzędzia