🕌
ASP.NET Coreで認証付きシングルページアプリケーション(React)をデプロイ時の注意点
はじめに
以下の設定についてメモしてます
- パラメーター設定
- SSL設定
何かあっても自己責任で
環境:
Ubuntu, Nginx, Let's Encrypt
本番環境用の設定を行う
Startup.csの設定を追加
Startup.cs
//using Microsoft.AspNetCore.HttpOverrides;
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
appsetting.Production.jsonを作成する
Releaseを指定してpublishするとappsetting.Production.jsonが使用される
.gitignoreに追加してgitで管理させない
user-secretsは本番環境では非推奨。
HTTPS化する場合は、IdentityServerが必要。設定方法はのちほど
appsetting.Production.json
{
"SendGridUser": "<sendgrid_user>",
"DbPassword": "<sqlserver_password>",
"SendGridKey": "<send_grid_key>",
}
SSL設定用の.pfxを準備する
pfxファイルが必要になるので変換する。
Let's Encryptはpem方式なので変換する必要がある
パスワード入力を求められるので入力する
// root
sudo -s
cd /etc/letsencrypt/live/<your_domain>
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out <your_domain>.pfx
キーを設定する
appsetting.Production.json
"IdentityServer": {
"Key": {
"Type": "File",
"FilePath": "<file_path>",
"Password": "<password>"
}
}
アプリを発行する
dotnet publish --configuration Release
アプリを発行して配置する
Discussion