Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Nie jest to najnowsza wersja tego artykułu. Aby zapoznać się z aktualną wersją, zobacz artykuł w wersji .NET 10.
Ostrzeżenie
Ta wersja ASP.NET Core nie jest już obsługiwana. Aby uzyskać więcej informacji, zobacz zasady pomocy technicznej platformy .NET i platformy .NET Core. Aby zapoznać się z bieżącą wersją, przeczytaj artykuł w wersji .NET 9.
W tym artykule wyjaśniono, jak hostować i wdrażać Blazor WebAssembly przy użyciu serwera Nginx.
Poniższy nginx.conf plik jest uproszczony, aby pokazać, jak skonfigurować serwer Nginx do wysyłania index.html pliku zawsze, gdy nie może znaleźć odpowiedniego pliku na dysku.
events { }
http {
server {
listen 80;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html =404;
}
}
}
Podczas ustawiania limitu szybkości serii NGINX za pomocą parametrów limit_req, limit_req_zone, i Blazor WebAssembly, aplikacje mogą wymagać dużych wartości parametrów burst/rate, aby obsłużyć stosunkowo dużą liczbę żądań generowanych przez aplikację. Początkowo ustaw wartość na co najmniej 60:
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=60r/s;
server {
...
location / {
...
limit_req zone=one burst=60 nodelay;
}
}
}
Zwiększ wartość, jeśli narzędzia deweloperskie przeglądarki lub narzędzie ruchu sieciowego wskazuje, że żądania otrzymują kod stanu 503 — Usługa niedostępna .
Aby uzyskać więcej informacji na temat produkcyjnej konfiguracji serwera internetowego Nginx, zobacz Creating NGINX Plus and NGINX Configuration Files (Tworzenie plików konfiguracji NGINX Plus i NGINX).
Hostowane wdrożenie w systemie Linux (Nginx)
Skonfiguruj aplikację ForwardedHeadersOptions tak, aby przekazywała dalej nagłówki X-Forwarded-For i X-Forwarded-Proto, zgodnie ze wskazówkami zawartymi w temacie Konfigurowanie ASP.NET Core do pracy z serwerami proxy i modułami równoważenia obciążenia.
Aby uzyskać więcej informacji na temat ustawiania ścieżki podstawowej aplikacji, w tym konfiguracji ścieżki podrzędnej aplikacji, zobacz ASP.NET Blazor Podstawowa ścieżka aplikacji.
Postępuj zgodnie ze wskazówkami dotyczącymi SignalR z następującymi zmianami:
Usuń konfigurację buforowania serwera proxy (
proxy_buffering off;), ponieważ ustawienie ma zastosowanie tylko do zdarzeń wysłanych przez serwer (SSE), które nie są istotne dla Blazor interakcji między klientem aplikacji a serwerem.Zmień ścieżkę
locationz/hubroute(location /hubroute { ... }) na ścieżkę/{PATH}podrzędną aplikacji (location /{PATH} { ... }), gdzie{PATH}symbol zastępczy to ścieżka podrzędna aplikacji.Poniższy przykład umożliwia skonfigurowanie serwera dla aplikacji, która odpowiada na żądania w ścieżce
/głównej :http { server { ... location / { ... } } }Poniższy przykład umożliwia skonfigurowanie ścieżki podrzędnej aplikacji :
/blazorhttp { server { ... location /blazor { ... } } }
Dodatkowe zasoby
- Hostowanie aplikacji ASP.NET Core w systemie Linux z serwerem Nginx
- Dokumentacja serwera Nginx:
- Deweloperzy na forach pomocy technicznej innych niż Microsoft: