ホームページ >運用・保守 >Nginx >Nginx HTTPS 構成を実装する方法

Nginx HTTPS 構成を実装する方法

WBOY
WBOYオリジナル
2023-11-08 09:23:121451ブラウズ

Nginx HTTPS 構成を実装する方法

Nginx HTTPS 構成を実装するには、具体的なコード例が必要です

序文

インターネットの発展とセキュリティ意識の向上により、さらに多くのことが必要になります。詳細 ユーザーのプライバシーとセキュリティを保護するために、多くの Web サイトで HTTPS プロトコルが有効になり始めています。高性能のオープンソース Web サーバーとして、Nginx は HTTP だけでなく HTTPS も構成できます。この記事では、Nginx HTTPS 構成を実装する方法を紹介し、参考にして使用できる具体的なコード例を添付します。

1. 証明書と秘密キーの生成

HTTPS プロトコルを有効にするには、まず SSL 証明書と秘密キーを生成する必要があります。 SSL 証明書はサーバーの ID を確認するために使用され、秘密キーは送信データの暗号化と復号化に使用されます。さまざまな認証局 (CA) によって署名された証明書を使用することも、自己署名証明書を使用することもできます。

自己署名証明書を生成する方法は次のとおりです:

  1. ターミナルを開き、コマンド ラインに次のコマンドを入力します:
openssl req -x509 -newkey rsa:2048 -nodes -sha256 -keyout private.key -out certificate.crt -subj "/CN=www.example.com"

このうち、private .key は秘密鍵ファイルの名前、certificate.crt は証明書ファイルの名前、www.example.comはサーバーのドメイン名で、実際の状況に応じて変更できます。

  1. 上記のコマンドを入力すると、国、州、都市、組織などの証明書関連情報の入力を求められます。プロンプトに従って入力するだけです。
  2. 入力が完了すると、カレントディレクトリに秘密鍵ファイル private.key と証明書ファイル certificate.crt が生成されます。

2. Nginx 設定ファイルを編集する

証明書と秘密キーを生成した後、Nginx 設定ファイルを編集して HTTPS プロトコルを有効にする必要があります。以下は簡単な Nginx 設定例です:

server {
    listen 443 ssl;
    server_name www.example.com;

    ssl_certificate /path/to/certificate.crt;  # 证书文件路径
    ssl_certificate_key /path/to/private.key;   # 私钥文件路径

    location / {
        # 其他配置...
    }
}

このうち、listen 443 ssl; は、HTTPS プロトコルを使用し、ポート 443 でリッスンすることを意味します; server_name www.example.com; サーバーのドメイン名を指定します。ssl_certificatessl_certificate_key はそれぞれ証明書と秘密キーのファイル パスを指定します。

3. Nginx サービスを再起動する

設定ファイルを編集した後、設定を有効にするために Nginx サービスを再起動する必要があります。ターミナルに次のコマンドを入力します。

sudo service nginx restart

パスワードを入力すると、Nginx サービスが再起動します。

4. HTTPS にジャンプするように HTTP を設定する

すべての HTTP リクエストを HTTPS にジャンプしたい場合は、設定ファイルに次のコードを追加できます:

server {
    listen 80;
    server_name www.example.com;

    return 301 https://$server_name$request_uri;
}

Among listen 80; はポート 80 (つまり HTTP プロトコル) をリッスンすることを意味します; return 301 https://$server_name$request_uri; はすべてのリクエストを対応する HTTPS アドレスにジャンプすることを意味します。

5. 強制 HTTPS アクセスを設定する

すべてのリクエストに HTTPS プロトコル経由で強制的にアクセスするようにするには、次のコードを Nginx 設定ファイルに追加します:

server {
    listen 80;
    server_name www.example.com;

    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name www.example.com;

    ssl_certificate /path/to/certificate.crt;
    ssl_certificate_key /path/to/private.key;

    # 其他配置...
}
#構成内の ## 最初の

server ブロックと 2 番目の server ブロックは、それぞれポート 80 とポート 443 をリッスンし、HTTP リクエストと HTTPS リクエストをそれぞれ処理します。構成内の return 301 https://$server_name$request_uri; は、HTTP リクエストを対応する HTTPS アドレスに強制的にジャンプさせます。

結論

上記の手順により、Nginx の HTTPS 構成を実装でき、必要に応じて HTTPS への HTTP ジャンプを実行するか、HTTPS アクセスを強制するかを選択できます。もちろん、実際のアプリケーションには、SSL プロトコルのバージョン、暗号スイート、HSTS などの設定など、他の詳細な設定も含まれます。この記事があなたのウェブサイトをより安全で信頼できるものにするための参考になれば幸いです。

以上がNginx HTTPS 構成を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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