asp.netコアサイトSSL nginxの設定


1.前提は
最初、私はアリ使い、SSLの検証のために適用する必要が
アリは無料のセキュリティトークンは1年間の適用あり、当然のことながら、その他の費用やフリーエージェントを選択することができます

2.
ここで重要な構成のいくつかは、nginxのCentOSのシステムであり、

サーバー{ 
    443を聞きます。
    上のSSL; 
    SERVER_NAME admin.mu-booking.com; 
    ssl_certificate /www/wwwroot/Cf.WebApp/wwwroot/cert/fullchain.pem; 
    ssl_certificate_key /www/wwwroot/Cf.WebApp/wwwroot/cert/privkey.pem; 
    ssl_protocols TLSv1のTLSv1.1 TLSv1.2。
    HIGHのssl_ciphers:aNULL:!MD5;   
    

    場所/ { 
    try_files $ uriの@gunicorn_proxy。
    } 

    場所@gunicorn_proxy { 
            proxy_set_headerのX-転送先については$ proxy_add_x_forwarded_for。
            proxy_set_headerホスト$ HTTP_HOST。
            オフproxy_redirect; 
            proxy_pass https://127.0.0.1:5443;
            proxy_connect_timeout 500S; 
            proxy_read_timeout 500S;
            proxy_send_timeout 500S; 
    } 
    
      場所〜/ハブ{ 
        proxy_pass https://127.0.0.1:5443。
        proxy_http_version 1.1; 
        proxy_set_header $ http_upgradeをアップグレード。
        proxy_set_header接続アップグレード。
        proxy_set_headerホスト$ホスト; 
        proxy_cache_bypass $ http_upgrade。
    } 
}
ssl_certificate、よく対応するssl_certificate_keyパス、もちろん、あなたが、更新しやすく、別の場所へのパスを設定することができ
、このSSL認証トークンファイルを対応するサービスをダウンロードするには良い時間を選択し、nginxのは、Apache等、そこにIIS、とにかくだろう主流のサービスとの互換性。

ここでは、我々は、ウェブアクセス可能なネットワークアドレスを持たなければならないことがわかります。例えばhttps://127.0.0.1:5443
次いでnginxの443 SSLポートに委譲し、外部ネットワークは直接、HTTPSを使用してアクセスすることができます。

3.
SSL設定の下で、一部の.NETコア

パブリック クラスプログラム
    { 
        パブリック 静的な 無効メイン(文字列[] argsを)
        { 
            // NLog:セットアップロガーは、最初にすべてのエラーをキャッチする
            のvar = NLogBuilder.ConfigureNLog(ロガーを" nlog.config " ).GetCurrentClassLogger();
            試す
            { 
                logger.Debug(" INITメイン" )。
                CreateWebHostBuilder(引数).Build()を実行します()。
            } 
            キャッチ(例外例)
            { 
                // NLog:キャッチセットアップエラー
                logger.Error(exは、" 例外のためのプログラムを停止します" );
                投げます
            } 
            最後に
            { 
                //は、アプリケーションの終了(Linux上でセグメンテーションフォールトを避けてください)前に、内部のタイマ/スレッドをフラッシュし、停止することを確認し
                NLog.LogManager.Shutdown(); 
            } 
        } 

        パブリック 静的 IWebHostBuilder CreateWebHostBuilder(文字列 []引数)=> 
          WebHost.CreateDefaultBuilder(引数)
              .UseStartup <起動時> ()
               .UseKestrel()。UseUrls("HTTP:// *:5004 " " HTTPS:// *:5443  
              .ConfigureLogging(ロギング => 
              { 
                  logging.ClearProviders(); 
                  logging.SetMinimumLevel(LogLevel.Trace); 
              })
              .UseNLog(); 
    }

UseKestrel(後)プラスUseUrls、最も簡単なのは、その2つのアドレスが開始することができます。
あなたがいないUseKestrelを行う場合は、直接UseUrlsはHTTPのみを使用することができます

おすすめ

転載: www.cnblogs.com/drek_blog/p/11122189.html