LoginSignup
5
4

More than 5 years have passed since last update.

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

Posted at

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();

            ... 以下略

途中です。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4