銀の光と碧い空

クラウドなインフラとC#なアプリ開発の狭間にいるエンジニアの日々

.NET Core on Linux で systemd scriptでプロセス管理する (手抜き版)

ASP.NET Core でLinuxでホストする場合、以前の公式ドキュメントではsupervisorを使う方法が紹介されていました。ただ、CentOSやRHELだとEPELリポジトリにあるしなあと思っていたら、いつの間にか公式ドキュメントがsystemdを利用したサンプルに変わっていました。せっかくなので手順を一通りなぞってみます。

Publish to a Linux Production Environment | Microsoft Docs

手抜きポイント

  • リバースプロキシは設定しない (適当なポートでローカルからアクセスして動作確認)
  • firewalldも設定しない (これは独立して設定できる)
  • SELinuxまわりは追加の設定しない (詳細は最後に)

SELinuxは追加の設定をしないというだけで、enforcingの状態です*1

# sestatus 
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

*1:とりあえずSELinux 無効化というのはそろそろなしじゃないかなあというのが正直な気持ちの今日この頃です

続きを読む

ASP.NET Core MVC で static fileを認証ユーザーのみに公開する

ASP.NET Core MVCでstatic fileを公開する場合、基本的には用意されている Static File Middlewareを使うと便利です。以下のドキュメントに詳しく書いてあります。

Working with Static Files | Microsoft Docs

が、このMiddlewareを使うとファイルは認証なしでアクセス可能になるため、認証付きユーザーのみアクセス可能にしたい場合はちょっと手間をかける必要があります。

続きを読む