Nginx は、パフォーマンスの最適化のために特別に開発されました。その最もよく知られている利点は、安定性とシステム リソースの消費量の少なさ、および同時接続 (単一の物理サーバー) に対する高い処理能力です。 30,000 ~ 50,000 の同時接続をサポート)、高性能 HTTP およびリバース プロキシ サーバーであり、IMAP/POP3/SMTP プロキシ サービスでもあります。
最初のステップは、ほぼすべてのプロセスを自動化できるソフトウェア クライアントである certbot をインストールすることです。 Certbot 開発者は、Ubuntu リポジトリに存在するものよりも新しいソフトウェアを含む独自の Ubuntu リポジトリを管理します。
Certbot リポジトリの追加:
# add-apt-repository ppa:certbot/certbot
次に、APT ソース リストを更新します:
# apt-get update
この時点で、次の apt コマンドを使用して certbot をインストールできます:
# apt-get install certbot
Certbot がインストールされ、使用できるようになりました。
SSL 証明書の取得に使用できるさまざまな Certbot プラグインがあります。これらのプラグインは証明書の取得に役立ちますが、証明書のインストールと Web サーバーの構成は管理者に任されています。
Webroot というプラグインを使用して SSL 証明書を取得します。
このプラグインは、提供されるコンテンツを変更できる場合にお勧めします。証明書の発行プロセス中に Web サーバーを停止する必要はありません。
Webroot は、Web ルートの下の .well-known ディレクトリにドメインごとに一時ファイルを作成します。この例では、Web ルートは /var/www/html です。 Let's Encrypt 認証中にこのディレクトリにアクセスできることを確認してください。これを行うには、NGINX 構成を編集します。テキスト エディタを使用して /etc/nginx/sites-available/default を開きます:
# $EDITOR /etc/nginx/sites-available/default
そのファイルのサーバー ブロック内に次のように入力します:
location ~ /.well-known { allow all; }
保存して終了し、NGINX 構成を確認します:
# nginx -t
エラーがない場合は、次のように表示されます:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
NGINX を再起動します:
# systemctl restart nginx
次のステップでは、Certbot Webroot プラグインを使用して新しい証明書を取得します。このチュートリアルでは、サンプル ドメイン www.example.com を保護します。証明書によって保護される必要がある各ドメインを指定する必要があります。次のコマンドを実行します。
# certbot certonly --webroot --webroot-path=/var/www/html -d www.example.com
このプロセス中に、Cerbot は通知用の有効な電子メール アドレスを要求します。 EFF と共有するように求められますが、これは必須ではありません。利用規約に同意すると、新しい証明書が取得されます。
最後に、ディレクトリ /etc/letsencrypt/archive には次のファイルが含まれます:
chain.pem: Let's Encrypt 暗号化チェーン証明書。
cert.pem: ドメイン名証明書。
fullchain.pem: cert.pem とchain.pem の組み合わせ。
privkey.pem: 証明書の秘密キー。
Certbot は、/etc/letsencrypt/live/domain_name/ に最新の証明書ファイルへのシンボリック リンクも作成します。これはサーバー構成で使用するパスです。
次のステップはサーバーの構成です。 /etc/nginx/snippets/ に新しいスニペットを作成します。スニペットとは、仮想ホスト構成ファイルに含めることができる構成の一部を指します。次のように新しいファイルを作成します。
# $EDITOR /etc/nginx/snippets/secure-example.conf
このファイルの内容は、証明書とキーの場所を指定します。次の内容を貼り付けます:
ssl_certificate /etc/letsencrypt/live/domain_name/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain_name/privkey.pem;
この例では、domain_name は example.com です。
デフォルトの仮想ホスト ファイルを編集します:
# $EDITOR /etc/nginx/sites-available/default
次のように:
server { listen 80 default_server; listen [::]:80 default_server; server_name www.example.comreturn 301 https://$server_name$request_uri;# SSL configuration#listen 443 ssl default_server; listen [::]:443 ssl default_server; include snippets/secure-example.conf## Note: You should disable gzip for SSL traffic.# See: https://bugs.debian.org/773332# ...}
これにより、NGINX 暗号化が有効になります。
NGINX 構成ファイルを保存して終了し、確認します:
# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
NGINX を再起動します:
# systemctl restart nginx
以上がUbuntu 16.04 で NGINX Web サーバーを構成して使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。