備註
這不是本文的最新版本。 關於目前版本,請參閱 本文的 .NET 10 版本。
警告
不再支援此版本的 ASP.NET Core。 如需詳細資訊,請參閱 .NET 和 .NET Core 支持原則。 如需目前的版本,請參閱 本文的 .NET 9 版本。
本文說明如何使用 Blazor WebAssembly 來架設與部署。
下列 nginx.conf 檔案已簡化,示範如何將 Nginx 設定為每當找不到磁碟上的對應檔案時,便傳送 index.html 檔案。
events { }
http {
server {
listen 80;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html =404;
}
}
}
使用和limit_req設定limit_req_zone時,Blazor WebAssembly應用程式可能需要大量的burst/rate參數值,以容納該應用程式提出的相對較多的要求。 一開始,請至少將值設定為 60:
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=60r/s;
server {
...
location / {
...
limit_req zone=one burst=60 nodelay;
}
}
}
如果瀏覽器開發人員工具或網路流量工具指出要求收到 503 - 服務無法使用狀態碼,則請增加此值。
如需生產環境 Nginx 網頁伺服器組態的詳細資訊,請參閱建立 NGINX Plus 和 NGINX 組態檔。
Linux 上的主機部署 (Nginx)
使用ForwardedHeadersOptions 設定應用程式以轉送 X-Forwarded-For 和 X-Forwarded-Proto 標頭,並依照設定 ASP.NET Core 以配合代理伺服器和負載平衡器中的指導。
關於設定應用程式基底路徑(包括子應用路徑設定)的更多資訊,請參見 ASP.NET 核心 Blazor 應用基底路徑。
遵循 ASP.NET Core SignalR 應用程式的指導,並進行下列變更:
移除 Proxy 緩衝的組態 (
proxy_buffering off;),因為此設定僅適用於伺服器傳送的事件 (SSE),而這與 Blazor 應用程式的用戶端伺服器互動無關。將
location路徑從/hubroute(location /hubroute { ... }) 變更為子應用程式的路徑/{PATH}(location /{PATH} { ... }),其中{PATH}預留位置是子應用程式的路徑。下列範例會在根路徑
/為回應要求的應用程式設定伺服器:http { server { ... location / { ... } } }下列範例會設定
/blazor的子應用程式路徑:http { server { ... location /blazor { ... } } }
其他資源
- 在 Linux 上使用 Nginx 裝載 ASP.NET Core
- Nginx 文件:
- 非 Microsoft 支援論壇上的開發人員: