ホームページ >運用・保守 >Nginx >Web サイトのデータ送信セキュリティを保護するための Nginx HTTPS 構成チュートリアル

Web サイトのデータ送信セキュリティを保護するための Nginx HTTPS 構成チュートリアル

PHPz
PHPzオリジナル
2023-07-04 13:43:421605ブラウズ

Web サイトのデータ送信セキュリティを保護するための Nginx HTTPS 構成チュートリアル

インターネットの急速な発展に伴い、Web サイトのセキュリティ問題に対する注目が高まっています。 Web サイトのデータ送信のセキュリティを保護するために、HTTPS プロトコルの使用は非常に重要な対策です。この記事では、Nginx を使用して HTTPS を構成し、Web サイト上のデータ送信のセキュリティを確保する方法を紹介します。

1. SSL 証明書のインストール
HTTPS を設定する前に、Web サイトの ID とデータ送信のセキュリティを確保するために SSL 証明書を取得する必要があります。サードパーティの認証局 (CA) から証明書を購入することも、Let's Encrypt などの無料のオープンソース証明書生成ツールを使用することもできます。

証明書をインストールする手順は次のとおりです。

  1. 証明書のダウンロード: 証明書ファイル (公開キー、秘密キー、証明書チェーンを含む) をサーバーにダウンロードします。通常、証明書ファイルの拡張子は .crt および .key です。
  2. SSL ストレージ ファイルの作成: openssl コマンドを使用して、.crt ファイルと .key ファイルを .pem 形式のファイルにマージします:
    openssl rsa -in privateKey.key -text > privateKey.pem
    openssl x509 -inform PEM -incertificate.crt >certificate.pem
    cat privateKey.pemcertificate.pem > ssl.crt

2. Nginx 設定 HTTPS

  1. Nginx 構成ファイルを開きます。通常は /etc/nginx/nginx.conf または /usr/local/nginx/conf/nginx.conf にあります。
  2. HTTPS サービス ブロックの追加: http ブロック内に次の構成を追加します:
    server {

    listen 443 ssl;
    server_name yourdomain.com;
    ssl_certificate /path/to/ssl.crt;
    ssl_certificate_key /path/to/privateKey.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ......

    }

    • listen 443 ssl: listen SSL が有効になっている、HTTPS プロトコルのデフォルトのポート 443。
    • server_name: ドメイン名に置き換えます。
    • ssl_certificate: SSL 証明書へのパスを指定します。
    • ssl_certificate_key: SSL 秘密キーへのパスを指定します。
    • ssl_protocols: サポートされている SSL/TLS プロトコルのバージョンを指定します。
    • ssl_ciphers: サポートされている暗号化アルゴリズムを指定します。
  3. HTTP から HTTPS へのリダイレクトを構成します。http ブロック内に次の構成を追加します:
    server {

    listen 80;
    server_name yourdomain.com;
    return 301 https://$server_name$request_uri;

    }

    ##ユーザーが HTTP URL にアクセスすると、Nginx は自動的に HTTPS URL にリダイレクトします。

  4. 設定を保存して再ロードします。設定ファイルを保存し、次のコマンドを実行して Nginx サービスを再起動します。
  5. sudo service nginx restart
この時点で、 Nginx HTTPS サービスが正常に構成されました。

3. HTTPS 構成の最適化

Web サイトのセキュリティとパフォーマンスをさらに向上させるために、次の最適化措置を講じることができます:

    HTTP/2 プロトコルを有効にします。 Nginx HTTP /2 モジュールを使用すると、HTTPS プロトコルが HTTP/2 にアップグレードされ、Web サイトの読み込み速度とパフォーマンスが向上します。
  1. サーバー ブロックに追加します:
    listen 443 ssl http2;
  2. OCSP Stapling を有効にする: OCSP Stapling は、SSL 検証の速度とセキュリティを向上させるテクノロジです。サーバー ブロックを追加します:
  3. ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
  4. HTTP Strict Transport Security の構成 ( HSTS): HSTS は、すべての HTTP リクエストを強制的に HTTPS にリダイレクトし、中間者攻撃を防ぐことができます。
  5. サーバー ブロックに追加します:
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
4. HTTPS 構成における一般的な問題と解決策

HTTPS を構成するときに、いくつかの一般的な問題が発生する可能性があります。以下は、一般的な問題とその解決策の一部です:

    構成ファイル エラー: Nginx 構成ファイルが正しいかどうか、特に ssl_certificate および ssl_certificate_key へのパスが正しいかどうかを確認してください。
  1. 証明書エラー: SSL 証明書が有効であり、ドメイン名と一致していることを確認してください。証明書の有効性はブラウザで確認できます。
  2. ファイアウォールの問題: ファイアウォールを使用している場合は、ポート 443 (HTTPS プロトコル) が開いていることを確認してください。
  3. SSL/TLS プロトコルの問題: 一部のクライアントは、古いバージョンの SSL/TLS プロトコルをサポートしていない可能性があります。 ssl_protocols に TLSv1.2 のみを保持すると、この問題を解決できます。
結論

Nginx で HTTPS プロトコルを構成することで、Web サイトにより安全なデータ伝送チャネルを提供できます。この記事では、SSL 証明書をインストールして Nginx の HTTPS サービスを構成する方法を紹介し、いくつかの最適化構成と一般的な問題の解決策を提供します。この記事があなたのお役に立ち、Web サイトのデータ送信がより安全で信頼できるものになることを願っています。

以上がWeb サイトのデータ送信セキュリティを保護するための Nginx HTTPS 構成チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。