ASP.NET CoreをNginxで動かす場合に必要なコード(メモ)


ASP.NET Core 構築で必要なコードのメモ

Nginxなどのプロキシーを通して配信する場合

日本語を含むコードの場合

そのほか、現在コーディング中においてのメモ他


日本語対処用コード

日本語と言うよりUTF8による2byte以上の文字の場合にHTMLエンティティされる問題を解決するおまじない

        public void ConfigureServices(IServiceCollection services)

{
// UTF8文字コード設定
services.Configure<Microsoft.Extensions.WebEncoders.WebEncoderOptions>(options =>
{
options.TextEncoderSettings = new System.Text.Encodings.Web.TextEncoderSettings(System.Text.Unicode.UnicodeRanges.All);
});

... 以下略


プロキシー設定

プロキシーを通す場合のおまじない

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)

{
... 以下略

// リバースプロキシー設定用
app.UseForwardedHeaders(new Microsoft.AspNetCore.Builder.ForwardedHeadersOptions
{
ForwardedHeaders = Microsoft.AspNetCore.HttpOverrides.ForwardedHeaders.XForwardedFor | Microsoft.AspNetCore.HttpOverrides.ForwardedHeaders.XForwardedProto
});

... 以下略


設定情報

設定情報系の読み込み用のおまじない(まだ意味の把握全容が出来ていない)

using Microsoft.AspNetCore.Hosting;

using Microsoft.Extensions.Configuration;

... 以下略

public Microsoft.Extensions.Configuration.IConfigurationRoot Configuration { get; }

public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();

... 以下略

途中です。