blazor serverside apache httpdメモ

まぁ、当たり前の話だが、apache上でサーバのサブディレクトリとして、blazor server sideを動作させるには、それ用のサービスと、リバースプロキシ設定が必要。

また、WebSocketのためのリライトルールが必要となる。
以下のような感じ。

http://・・・/blazorappをhttp://localhost:5010/ にマッピングする。

<VirtualHost *:80>
        DocumentRoot /var/www/html
        ServerName ・・・
    
    ProxyPass /blazorapp http://localhost:5010/
    ProxyPassReverse /blazorapp http://localhost:5010/
    RewriteEngine on
    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
    RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
    RewriteRule /blazorapp/(.*) ws://localhost:5010/$1 [P]
</VirtualHost>

※kestrelサービスはlocalhost:5010で口を開けて待っているという想定。(appsettings.jsonにて指定するとかネ。)

[[Service定義ファイル]]

[Unit]
Description=<サービスの説明>
[Service]
WorkingDirectory=/<working directory path>
ExecStart=/usr/bin/dotnet /<dllパス>/<アプリケーション名>.dll
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=<アプリケーション名>
User=apache
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
[[appsettings.json]]

{
  "Kestrel" : {
        "EndPoints" : {
                "Http" : {
                        "Url" : "http://localhost:5010"
                 }
         }
  },
     ・・・
}

一応、動作確認済み。でも、Websocketの箇所は少々、自信無し・・・
後で別のサービスを追加して確認してみよう・・・

takezou について

ソフトウェア開発会社(ITと言う言葉は大嫌い)で働く、元技術者。 未だに、社内システム位は作ってますが・・・ プログラミング言語はC#が好き。
カテゴリー: asp.net core, Blazor, dotnetcore, 技術系 パーマリンク

1 Response to blazor serverside apache httpdメモ

  1. takezou のコメント:

    別のサブディレクトリとして、サービスを追加し、Proxy設定とWebSocket用のRewriteルールを追加して試したところ、両方のblazorアプリがうまく動作していることを確認した。
    でも、WebSocketの方のパターンマッチングちょっと自信ないんんだよね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください