「Nginx」を使用してバックエンド「HTTPS」プロトコルアクセスを構成する方法

序文

このブログでは主に、HTTPS プロトコル アクセス インターフェイスを実現するために、Nginx を使用してバックエンド アプリケーション インターフェイスの SSL 証明書を展開する方法について説明します (この記事ではパブリック ネットワーク IP の展開を使用しています。読者はドメイン名に置き換えることができます)。

証明書を申請する

知らせ

クラウドサービスプラットフォーム上でSSL証明書を申請してください(証明書の有効期間は原則1年間であり、期間満了後は再度申請が必要です)

ここのブロガーは Alibaba Cloud クラウド サーバーを使用しています。Alibaba Cloud では毎年 20 個の DigiCert SSL 証明書を無料で申請できますが、DigiCert 証明書は IP バインドをサポートしていません。IP を入力すると、次のエラーがポップアップ表示されます

Globalsign、GeoTrust、vTrus、CFCA品牌OV单域名证书支持绑定IP,建议您购买Globalsign品牌的证书

ここでは、パブリック ネットワーク IP を使用して証明書を申請する状況について説明します。一般的に、SSL 証明書はドメイン名のインストールのみに使用され、一部の DV および OV 証明書のみが IP 展開をサポートしていることがわかっています。次に、無料の証明書申請について説明しますIPを使用して展開できる手順

[ドメイン名] を導入したい場合は、独自のクラウド サービス プロバイダーに申請して導入できます。通常、無料の割り当てがあり、個人にとっては十分であり、より便利です

申請手順

访问:無料の SSL 証明書と SSL ツール - ZeroSSL

画像-20230902212015167

画像-20230902212242409

画像-20230902212448814

次に、90 日間の証明書を選択し、常にそれを確認します。次に、DNS 検証または HTTP ファイル検証のプロセスに従います。以下では、HTTP ファイル検証方法を例として使用します。

[認証ファイルのダウンロード] を選択し、認証ファイルをサーバーの /usr/share/nginx/html/.well-known/pki-validation フォルダーに保存します。これにより、サーバー上の nginx が認証ファイルへの HTTP アクセスに応答できるようになります。

        location /.well-known/pki-validation/ {
    
    
           root /usr/share/nginx/html/;
        }

上記のディレクトリである必要はありません。nginx がこのディレクトリの操作権限を持っていることを確認してください。そうでない場合は、403 エラーがポップアップします。

画像-20230902224803941

次に、公式の Nginx デプロイ証明書ドキュメントに従ってデプロイします: NGINX への SSL 証明書のインストール – ZeroSSL

すべての SSL 証明書ファイルをアップロードした後、certificate.crt ファイルと ca_bundle.crt ファイルを結合する必要があります。

cat certificate.crt ca_bundle.crt >> certificate_merge.crt

証明書の構成

これでサーバーのポート 8080 がバックエンド インターフェイスを実行しました。次に、SSL 証明書をパブリック ネットワーク IP に展開します。

nginx.confを構成する

    server {
    
    
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name  _;

        ssl_certificate "/home/dev/certs/certificate_merge.crt";
        ssl_certificate_key "/home/dev/certs/private.key";

        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers PROFILE=SYSTEM;
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
    
    
          proxy_pass  http://localhost:8080/;
          proxy_set_header           Host $host;
          proxy_set_header  X-Real-IP  $remote_addr;
          proxy_set_header           X-Forwarded-For       $proxy_add_x_forwarded_for;
          client_max_body_size  100m;
        }
    }
# 重启 Nginx
systemctl restart nginx.service

証明書の分類

ドメイン名証明書 (DV)

SSL証明書は、Webサイトのドメイン名の所有権を証明するだけの簡易(クラス1)SSL証明書で、10分程度で発行でき、暗号化通信の役割も果たせますが、本人性を証明するものではありません。ウェブサイトをユーザーに提供します。

現在市場に出回っている無料の証明書はすべてこのタイプであり、データの暗号化のみを提供しますが、証明書を提供する個人または組織の身元は検証されません。

組織/企業証明書 (OV)

これは、ドメイン名が特定の企業、組織、または機関によって所有されていること、およびアプリケーションのサブジェクト ID が法的に登録されているか、当局によって認識されていることを確認するために使用されます。

暗号化機能を備え、申請者の本人確認と確認を厳格に行い、信頼できる本人証明書を提供します DV SSLとの違いは、OV SSLは個人や組織に対する監査を行うため、相手の身元を確認することができ、より安全です。通常料金証明書

拡張証明書 (EV)

Extended Validation (EV) 証明書は、現在利用可能な最も信頼できる SSL 証明書です。認証局の監査は非常に厳格です。強化された証明書は最高レベルの信頼性とセキュリティを備えており、会社名が記載された緑色のアドレスバーはその特徴的な機能の 1 つであり、これにより訪問者は取引している Web サイトが本物の法的であることをより確信し、より確実に取引を行うことができます。オンライン取引量。

金融証券、銀行、第三者決済、オンライン ショッピング モールなど、Web サイトのセキュリティと企業の信頼性を重視する Web サイトでは、取引の支払い、顧客のプライバシー情報やアカウントのパスワードの送信が伴います。この部分の検証要件は最も高く、申請料も最も高価です。

参考記事

ドメイン名なしで Elastic Public IP の SSL 証明書を申請する - Short Book (jianshu.com)

[SSL] OV、DV、EV 証明書の違い - Alibaba Cloud Developer Community (aliyun.com)

SSL 証明書をサーバーにダウンロードしてインストールする方法_デジタル証明書管理サービス-Alibaba Cloud ヘルプセンター (aliyun.com)

推奨読書

2022 Alibaba Cloud 無料 SSL 証明書申請プロセス (詳細なグラフィックとテキスト) - Alibaba Cloud 開発者コミュニティ (aliyun.com)

この記事は、ブログ用のマルチポスト プラットフォームであるOpenWriteによって公開されています。

おすすめ

転載: blog.csdn.net/m0_63748493/article/details/132652348