如何配置Nginx的HTTP2协议?

  

配置NGINX的HTTP2协议需要以下步骤:

第一步:安装支持HTTP2协议的OpenSSL

首先需要安装支持HTTP2协议的OpenSSL版本。在Ubuntu系统中,可以使用以下命令进行安装:

sudo apt-get install libssl-dev

第二步:安装Nginx

在安装Nginx之前,需要确认已经安装了编译Nginx所需的依赖库。在Ubuntu系统中,可以使用以下命令进行安装:

sudo apt-get install build-essential libpcre3 libpcre3-dev zlib1g-dev unzip

然后,下载最新版本的Nginx并解压:

wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0

接下来,使用以下命令进行编译和安装:

./configure --with-http_ssl_module --with-http_v2_module
make
sudo make install

第三步:配置Nginx

使用文本编辑器打开Nginx的配置文件,路径为 /usr/local/nginx/conf/nginx.conf。然后,找到以下配置项并确保其存在:

http {
    ...
    server {
        listen 443 ssl http2;
        ...
    }
    ...
}

在 listen 配置项中添加 http2 参数即可启用HTTP2协议。

示例一:

假设我们有一个域名为example.com,需要启用HTTP2协议,Nginx的配置如下:

http {
    ...
    server {
        listen 80;
        server_name example.com;
        return 301 https://$host$request_uri;
    }
    server {
        listen 443 ssl http2;
        server_name example.com;
        root /var/www/example.com;
        index index.html;
        ssl_certificate /path/to/ssl.cert;
        ssl_certificate_key /path/to/ssl.key;
    }
    ...
}

这个配置将80端口的访问请求重定向到443端口,并启用了HTTP2协议。

示例二:

假设我们需要在Nginx上使用套接字加速器(Unix domain socket)启用HTTP2协议,Nginx的配置如下:

http {
    ...
    server {
        listen unix:/run/nginx.sock;
        server_name example.com;
        root /var/www/example.com;
        index index.html;
        ssl on;
        ssl_certificate /path/to/ssl.cert;
        ssl_certificate_key /path/to/ssl.key;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256;
        ssl_prefer_server_ciphers on;
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
        http2_push_preload on;
    }
    ...
}

这个配置将使用Unix domain socket启用HTTP2协议。此外,也启用了其他SSL相关的配置。

相关文章