ホームページ  >  記事  >  運用・保守  >  Nginxサーバーhttpsの設定方法

Nginxサーバーhttpsの設定方法

WBOY
WBOY転載
2023-05-23 11:01:061503ブラウズ

証明書の申請

現在、インターネット上には、有効期間が数か月から数年の個人用無料 SSL 証明書を提供する組織が多数あります。 startssl: https://www.startssl.com を例に挙げると、申請が成功すると 3 年間有効になり、期限切れ後は無料で更新できます。

具体的な申請プロセスも非常に簡単です。

登録してログインした後、証明書ウィザード >> dv ssl 証明書を選択して、無料の ssl 証明書を申請します。

電子メールでドメイン名を確認した後、独自のサーバーで ssl 証明書の CSR を生成します。入力を生成するためのシークレットを覚えておいてください。後で使用します:

openssl req -newkey rsa:2048 -keyout weizhimiao.cn.key -out weizhimiao.cn.csr

が生成されます。 証明書は、証明書が保存されている指定されたディレクトリ (/data/secret/ など) に配置されます。証明書 weizhimiao.csr の内容を表示し、その内容をページの証明書署名要求 (csr) セクションにコピーして、ページを送信します。

生成された証明書をダウンロードし、対応する Web サーバー (nginx、1_weizhimiao.cn_bundle.crt) を選択すると、秘密キーと公開キーの両方が得られます。

  • 1_weizhimiao.cn_bundle.crt (公開鍵)

  • weizhimiao.cn.key (秘密鍵)

nginx 設定 (指定したドメイン名に https を追加)

nginx.conf 現在の設定

...
http {
 ...
 include /etc/nginx/conf.d/*.conf;

 server {
  ...
 }
}

./conf.d/weizhimiao.cn.conf追加

server{
 listen 443 ssl;
 server_name weizhimiao.cn;

 ssl_certificate /data/secret/1_weizhimiao.cn_bundle.crt;
 ssl_certificate_key /data/secret/weizhimiao.cn.key;
 ssl_prefer_server_ciphers on;
 ssl_protocols tlsv1 tlsv1.1 tlsv1.2;

 ssl_ciphers 'keecdh+ecdsa+aes128 keecdh+ecdsa+aes256 keecdh+aes128 keecdh+aes256 kedh+aes128 kedh+aes256 des-cbc3-sha +sha !anull !enull !low !md5 !exp !dss !psk !srp !kecdh !camellia !rc4 !seed';

 add_header strict-transport-security 'max-age=31536000; preload';
 add_header x-frame-options deny;
 ssl_session_cache shared:ssl:10m;
 ssl_session_timeout 10m;
 keepalive_timeout 70;
 ssl_dhparam /data/secret/dhparam.pem;

 add_header x-content-type-options nosniff;

 add_header x-xss-protection 1;

 root /data/www/weizhimiao.cn;
 index index.html;

 location / {

 }
}

注:

A /data/secret/dhparam.pem ファイルは構成で使用されます。このファイルは pem 形式のキー ファイルであり、使用されますセッション中のTLS用。 sslのセキュリティを強化するために使用されます。このファイルを生成するメソッド

cd /data/secret/
openssl dhparam 2048 -out dhparam.pem

は、元のアクセスをポート 80 にリダイレクトします。

server{
 listen 80;
 server_name weizhimiao.cn;
 return 301 https://weizhimiao.cn$request_uri;
}

test

を ./conf.d/weizhimiao.cn.conf に追加して、構成ファイルに構文エラーがあるかどうかを確認します。公開キー生成時の前回の入力、パスワード。

nginx -t
enter pem pass phrase:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

nginx を再起動します (リロードが機能しないことに注意してください)

nginx -s stop
enter pem pass phrase:
nginx
enter pem pass phrase:

ブラウザで weizhimiao.cn にアクセスして、有効かどうかを確認します。

さらに、nginx がセキュリティ証明書を使用して構成された後、nginx はリロード、停止、その他の操作ごとにパスワードを必要とします。

復号化されたキー ファイルを生成して、元のキー ファイルを置き換えることができます。

cd /data/secret/
openssl rsa -in weizhimiao.cn.key -out weizhimiao.cn.key.unsecure

weizhimiao.cn.confweizhimiao.cn.key ファイルを置き換えます。

server {
 ...
 ssl_certificate /data/secret/1_weizhimiao.cn_bundle.crt;
 ssl_certificate_key /data/secret/weizhimiao.cn.key.unsecure;
 ...
}

リロード後は毎回、パスワードを入力する必要があります。

最後に、ssllabs を使用してテストします。 ###############結果############

以上がNginxサーバーhttpsの設定方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。