HTTP / 2 HTTPの最新の標準です プロトコル、 HTTP / 1.1の後継です 。 Web開発者や一般的なユーザーにメリットをもたらすため、ますます人気が高まっています。 HTTP / 1.1 のすべてのコア機能をサポートすることにより、HTTPセマンティクスの最適化されたトランスポートを提供します。 しかし、複数の方法でより効率的になることを目指しています。
HTTP / 2の上にたくさんの機能があります これにより、Webサイト/アプリケーションを最適化する可能性が高まります。真の多重化と同時実行性、より優れたヘッダー圧縮(バイナリエンコーディング)、より優れた優先順位付け、より優れたフロー制御メカニズム、および「サーバープッシュ」と呼ばれる新しい対話モードを提供します。 」は、サーバーがクライアントに応答をプッシュできるようにします。言うまでもなく、 HTTP / 2 Googleの実験的なSPDYに基づいています プロトコル。
したがって、 HTTP / 2の主な焦点は 全体的なWebページの読み込み時間を短縮し、パフォーマンスを向上させることです。また、 HTTP / 2 を使用しているため、セキュリティだけでなくネットワークとサーバーのリソース使用量にも焦点を当てています。 、 SSL / TLS 暗号化は必須です。
この記事では、 Nginxを有効にする方法を学習します HTTP / 2を使用 Linuxサーバーでのサポート。
前提条件:
- NGINXの動作中のインストール バージョン1.9.5 ngx_http_v2_moduleで構築された以上 モジュール。
- サイトでSSL/TLS証明書が使用されていることを確認してください。証明書がない場合は、Let’s Encryptから取得するか、自己署名証明書を使用してください。
NGINXをインストールできます または、 LEMPを使用して展開します 次のガイドで説明されているようにスタックします。
- CentOS8にNginxをインストールする方法
- CentOS8にLEMPサーバーをインストールする方法
- RHEL 8にNGINX、MySQL / MariaDB、PHPをインストールする方法
- Ubuntu20.04でPhpMyAdminを使用してLEMPスタックをインストールする方法
- Debian 10にサーバーブロック(仮想ホスト)を使用してNginxをインストールする
- LinuxでNginxをHTTPロードバランサーとして使用する方法
NGINXでHTTP/2.0を有効にする方法
NGINXがインストールされている場合は、ngx_http_v2_module
でビルドされていることを確認してください 次のコマンドを実行してモジュールを作成します。
# strings /usr/sbin/nginx | grep _module | grep -v configure| sort | grep ngx_http_v2_module
Nginx HTTP/2モジュールを確認してください
NGINXによって提供されるWebサイト/アプリケーションを取得したら HTTPS 構成済みで、Webサイトの仮想サーバーブロック(または仮想ホスト)を開きます )編集用のファイル。
# vi /etc/nginx/conf.d/example.com.conf [On CentOS/RHEL] $ sudo nano /etc/nginx/sites-available/example.com.conf [On Ubuntu/Debian]
http2
を追加するだけで、HTTP/2サポートを有効にできます。 すべてのlisten
へのパラメータ 次のスクリーンショットに示すようなディレクティブ。
listen 443 ssl http2;
サンプルのサーバーブロック構成は次のようになります。
server { server_name example.com www.example.com; access_log /var/log/nginx/example.com_access.log; error_log /var/log/nginx/example.com_error.log; listen [::]:443 ssl ipv6only=on http2; # managed by Certbot listen 443 ssl http2; # managed by Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot }
NginxでHTTP/2サポートを有効にする
変更をファイルに保存して閉じます。
次に、NGINXの構成構文を確認し、問題がない場合は、Nginxサービスを再起動します。
# nginx -t # systemctl restart nginx
次に、ウェブブラウザを開いて、ウェブサイトが HTTP / 2で配信されているかどうかを確認します 。
http://www.example.com
HTTPヘッダーにアクセスするには、表示されたWebページを右クリックし、検査を選択します。 オプションのリストから開発者ツールを開き、ネットワークをクリックします。 タブをクリックして、ページをリロードします。
プロトコルで確認してください サイトで使用されているヘッダーを確認します(プロトコルヘッダーが表示されない場合は、名前などのヘッダーのいずれかを右クリックします。 、次にプロトコルを確認します リストからヘッダーとして表示します。
サイトがHTTP/ 1.1で実行されている場合 、プロトコルの下 、 http / 1.1が表示されます 次のスクリーンショットに示すように。
HTTP/1.1で実行されているWebサイト
HTTP / 2で実行されている場合 、プロトコルの下 、h2
が表示されます 次のスクリーンショットに示すように。ブラウザのキャッシュを無効にして、ウェブサーバーから直接提供されている最新のコンテンツを表示することもできます。
HTTP/2.0で実行されているWebサイト
それで全部です!詳細については、ngx_http_v2_moduleモジュールのドキュメントを参照してください。下記のフィードバックフォームからお気軽にご質問ください。
共有は思いやりがあります…Facebookで共有するTwitterで共有するLinkedinで共有するRedditで共有する