ホームページ  >  記事  >  運用・保守  >  HTTPS Web サイトを展開するために Nginx SSL 証明書を構成する方法

HTTPS Web サイトを展開するために Nginx SSL 証明書を構成する方法

王林
王林転載
2023-05-12 12:31:121248ブラウズ

ブラウザによって信頼されていない自己発行の SSL 証明書

手動で発行された

xxshell がサーバーにログインしますopenssl を使用して rsa キーと証明書を生成します。

# 生成一个rsa密钥 
$ openssl genrsa -des3 -out tfjybj.key 1024

# 拷贝一个不需要输入密码的密钥文件
$ openssl rsa -in dmsdbj.key -out tfjybj_nopass.key

# 生成一个证书请求
$ openssl req -new -key tfjybj.key -out tfjybj.csr

ここでは、州、市、ドメイン名などの情報を入力するように求められます。電子メールはドメイン名のサフィックスである必要があります。これにより、CSR ファイルが生成されます。これは、SSL プロバイダーに送信されたときの CSR ファイルです。

(ここにはスクリーンショットがないので、インターネットから画像を見つけました。置き換える必要があるのは、以下の 33iq で、tfjybj に置き換えられます)

途中にパスワードを入力すると何も表示されませんが、そのまま入力してください

HTTPS Web サイトを展開するために Nginx SSL 証明書を構成する方法

# 自己签发证书
$ openssl x509 -req -days 365 -in tfjybj.csr -signkey tfjybj.key -out tfjybj.crt

生成された証明書をnginxの設定と同じディレクトリに置きますファイル;

nginx 設定

nginx 設定ファイル nginx.conf を編集し、https プロトコルを追加します

server {
  server_name tfjybj.com;
  listen 443;
  ssl on;
  ssl_certificate /usr/local/nginx/conf/tfjybj.crt;
  ssl_certificate_key /usr/local/nginx/conf/tfjybj_nopass.key;
  # 若ssl_certificate_key使用tfjybj.key,则每次启动nginx服务器都要求输入key的密码。
  (开始我不知道,纳闷为啥启动nginx、关闭nginx都要输入密码)
}

nginx を再起動します

自分で発行する SSL 証明書は暗号化通信機能を実現できますが、ブラウザはそれを信頼しないため、プロンプトが表示されます:

HTTPS Web サイトを展開するために Nginx SSL 証明書を構成する方法

サードパーティ経由で発行された証明書 – Alibaba Cloud

証明書の発行

Alibaba Cloud 管理コンソールにログインし、 [クラウド シールド] メニューから [証明書サービス] を選択し、証明書の購入を選択します;

テスト用に無料版を入手しました。申請後、1 ~ 2 日のレビューの後、ダウンロードできます証明書。ダウンロードして解凍すると、2 つのファイルがあり、1 つは key (秘密キー) で終わり、もう 1 つは pem (公開キー) で終わります。ファイル説明:

証明書ファイル「アプリケーション証明書名.pem」には 2 つの段落が含まれています。どちらの段落も削除しないでください。 証明書システムによって作成された CSR の場合、証明書の秘密キー ファイル「適用された証明書名.key」も含まれます。

(1) nginx インストール ディレクトリに cert ディレクトリを作成し、ダウンロードしたすべてのファイルを cert ディレクトリにコピーします。証明書を申請するときに自分で csr ファイルを作成する場合は、対応する秘密鍵ファイルを cert ディレクトリに配置し、「適用された証明書名.key」という名前を付けてください;

(2) nginx インストールで conf を開きますディレクトリ内の nginx.conf ファイルを見つけて、次のように変更します。

# https server
# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols sslv2 sslv3 tlsv1;
# ssl_ciphers all:!adh:!export56:rc4+rsa:+high:+medium:+low:+sslv2:+exp;
# ssl_prefer_server_ciphers on;
# location / {
#
#
#}
#}

(3) これを次のように変更します (次の属性のうち、ssl で始まる属性は、証明書の構成に直接関連しています。他の属性をコピーするか、以下に基づいて調整してください)実際の状況。) :

server { 
listen 443; 
server_name localhost; 
ssl on; 
root html; 
index index.html index.htm; 
ssl_certificate cert/申请的证书名字.pem; 
ssl_certificate_key cert/申请的证书名字.key; 
ssl_session_timeout 5m; 
ssl_ciphers ecdhe-rsa-aes128-gcm-sha256:ecdhe:ecdh:aes:high:!null:!anull:!md5:!adh:!rc4; 
ssl_protocols tlsv1 tlsv1.1 tlsv1.2; 
ssl_prefer_server_ciphers on; 
location / { 
root html; 
index index.html index.htm; 
} 
}

保存して終了します。

(4) nginxを再起動します。

(5) https

経由でサイトにアクセスします。

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

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