AzureWebAppで簡単にBasic認証付きの静的アプリを公開した話

仕事でオンラインマニュアルを作成する作業してたとき、最終チェックのため公開したときの動作確認を取ることに。

特にテスト環境がなかったため、自分で作ることにした。会社ではAzureが使い放題だったので、練習がてら利用。

ネット上に公開されちゃうので、Basic認証も使う。

やったこと

やったことを以下にまとめる。詳細は次の見出しで。

AppServiceを使ってWebAppを構築。

ランタイムは.NET Core 3.1

Basic認証の設定

HTMLのファイルをアップロード

jsonファイルを読み込めるように設定(manifest.jsonを読み込ませるため)

詰まったところ

Basic認証

htaccess作ればいいだろうと思ったけど、甘かった。ランタイムをphpにしても何故かhtaccess読み込まない。こんなことに時間使いたくなかったので、ググって出てきた情報から対応。

以下、PHPResources内のファイルを取得して配置。

https://github.com/nabehiro/HttpAuthModule

 

詳しくは以下参照

Azure App Service WebAppsで運用しているサイトにベーシック認証をかける方法

配置後、manifest.jsonを読み込まなくなってしまうため、htmlファイルの以下を修正。

<link rel="manifest" href="manifest.json" crossorigin="use-credentials">

※crossorigin="use-credenstials"を付け足した感じ。

HTMLのファイルアップロード

AppService→サービス名→デプロイメント→デプロイセンター→FTPS資格情報

上記よりFTPを利用してファイルアップロード。

最初デプロイセンターの設定よりgithub使用したが、すごい時間かかった。HTMLがないので、.NETだとビルドできるようにしないといけないし。

FTPでzipをアップロード後、コンソールを利用し、unzipコマンドで解凍しました。

jsonファイルを読み込めるように設定(manifest.jsonを読み込ませるため)

WebAppsは最初はjsonファイルを読み込まないらしい。

なので、web.configを編集。

※以下、<staticContent>の部分。

  <system.webServer>
    <modules>
      <add type="HttpAuthModule.HttpAuthModule" name="HttpAuthModule" />
    </modules> 
        <staticContent>
            <remove fileExtension=".json" />
            <mimeMap fileExtension=".json" mimeType="application/json" />
        </staticContent>
  </system.webServer>

 

おすすめの記事