注
これは、この記事の最新バージョンではありません。 現在のリリースについては、 この記事の .NET 10 バージョンを参照してください。
警告
このバージョンの ASP.NET Core はサポート対象から除外されました。 詳細については、 .NET および .NET Core サポート ポリシーを参照してください。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。
この記事では、Blazor WebAssembly を使用してをホストおよびデプロイする方法について説明します。
以下に示す nginx.conf ファイルは、Nginx が対応するファイルをディスク上で見つけられないときに index.html ファイルを送信するよう Nginx を構成する方法を示すために、簡略化されています。
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 Web サーバーの構成に関する詳細については、「Creating NGINX Plus and NGINX Configuration Files」 (NGINX Plus と NGINX 構成ファイルの作成) を参照してください。
Linux でのホストされた展開 (Nginx)
ForwardedHeadersOptions を使用して、X-Forwarded-For および X-Forwarded-Proto ヘッダーを転送するようアプリを構成するには、プロキシ サーバーとロード バランサーで動作するように ASP.NET Core を構成する のガイダンスに従ってください。
サブアプリ パスの構成など、アプリのベース パスの設定の詳細については、「 ASP.NET Core Blazor アプリのベース パス」を参照してください。
「ASP.NET Core SignalR アプリ」のガイダンスに従って、次のように変更します。
プロキシバッファリング(
)の構成を削除します。この設定は にのみ適用され、 アプリのクライアントとサーバー間の通信には関係ないためです。 locationパスを/hubroute(location /hubroute { ... }) からサブアプリパス/{PATH}(location /{PATH} { ... }) に変更します。ここで、{PATH}プレースホルダーはサブアプリ パスです。次の例では、ルート パス
/で要求に応答するアプリのサーバーを構成します。http { server { ... location / { ... } } }次の例では、
/blazorのサブアプリ パスを次のように構成します。http { server { ... location /blazor { ... } } }
その他のリソース
- Nginx 搭載の Linux で ASP.NET Core をホストする
- Nginx のドキュメント:
- Microsoft 以外のサポート フォーラムの開発者:
ASP.NET Core