注释
此版本不是本文的最新版本。 有关当前版本,请参阅 本文的 .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;
}
}
}
在使用NGINX 突发速率限制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 Web 服务器配置的详细信息,请参阅 创建 NGINX Plus 和 NGINX 配置文件。
Linux 上的托管部署 (Nginx)
请按照ForwardedHeadersOptions中的指南,通过X-Forwarded-For 配置应用程序以转发 X-Forwarded-Proto 和 请求头。
有关设置应用的基本路径(包括子应用路径配置)的详细信息,请参阅 ASP.NET 核心 Blazor 应用基路径。
按照 ASP.NET Core SignalR 应用的指南操作,并做出以下更改:
删除代理缓冲 (
proxy_buffering off;) 的配置,因为改设置仅适用于服务器发送事件 (SSE),这与 Blazor 应用客户端-服务器交互无关。将
location路径从/hubroute(location /hubroute { ... }) 更改为子应用路径/{PATH}(location /{PATH} { ... }),其中{PATH}占位符是子应用路径。以下示例为响应根路径
/请求的应用配置服务器:http { server { ... location / { ... } } }以下示例配置
/blazor子应用路径:http { server { ... location /blazor { ... } } }
其他资源
- 使用 Nginx 在 Linux 上托管 ASP.NET Core
- Nginx 文档:
- 非Microsoft支持论坛上的开发人员: