注
これは、この記事の最新バージョンではありません。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。
警告
このバージョンの ASP.NET Core はサポート対象から除外されました。 詳細については、 .NET および .NET Core サポート ポリシーを参照してください。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。
重要
この情報はリリース前の製品に関する事項であり、正式版がリリースされるまでに大幅に変更される可能性があります。 Microsoft は、ここで提供される情報に関して明示的または黙示的な保証を行いません。
現在のリリースについては、この記事の .NET 9 バージョンを参照してください。
この記事では、Nginx を使用して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
で NGINX バースト レートの制限を設定する場合、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