Nginx HTTPS 構成を実装するには、具体的なコード例が必要です
序文
インターネットの発展とセキュリティ意識の向上により、さらに多くのことが必要になります。詳細 ユーザーのプライバシーとセキュリティを保護するために、多くの Web サイトで HTTPS プロトコルが有効になり始めています。高性能のオープンソース Web サーバーとして、Nginx は HTTP だけでなく HTTPS も構成できます。この記事では、Nginx HTTPS 構成を実装する方法を紹介し、参考にして使用できる具体的なコード例を添付します。
1. 証明書と秘密キーの生成
HTTPS プロトコルを有効にするには、まず SSL 証明書と秘密キーを生成する必要があります。 SSL 証明書はサーバーの ID を確認するために使用され、秘密キーは送信データの暗号化と復号化に使用されます。さまざまな認証局 (CA) によって署名された証明書を使用することも、自己署名証明書を使用することもできます。
自己署名証明書を生成する方法は次のとおりです:
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
はサーバーのドメイン名で、実際の状況に応じて変更できます。
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_certificate
と ssl_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 構成を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。