nginx服务器配置http/2

nginx服务器配置http/2



在这里插入图片描述

文章目录

  • nginx服务器配置http/2
    • 1.安装nginx
    • 2.ssl证书
      • 2.1 创建ssl证书
    • 3.配置nginx
      • 3.1 配置http/2
    • 4.保存配置文件
    • 5.重启nginx
    • 6.测试

1.安装nginx

如果你没有安装nginx,可以参考这里:nginx教程


2.ssl证书

如果你没有ssl证书,需要先创建一个ssl证书,如果你已经有了ssl证书,可以跳过这一步。


2.1 创建ssl证书

这里创建的ssl证书是自签名的,浏览器会提示不安全,如果你想要安全的证书,可以去购买证书。

openssl genrsa -out private.key 2048

含义:生成一个2048位的私钥,保存在private.key文件中。

openssl req -new -key private.key -out csr.pem

含义:生成一个证书签名请求,其中包含了公钥,保存在csr.pem文件中。

当你执行这一步,这里会出现一些问题,需要填写一些信息,大致如下:

Country Name (2 letter code) [XX]: 国家代码,如CN。
State or Province Name (full name) []: 州或省份名称。
Locality Name (eg, city) [Default City]: 城市名。
Organization Name (eg, company) [Default Company Ltd]: 组织名称,如公司名。
Organizational Unit Name (eg, section) []: 组织单位名称,如部门。
Common Name (eg, your name or your server's hostname) []: 常用名,如你的名字或服务器的主机名。
Email Address []: 电子邮件地址。
A challenge password []: 设置证书请求的密码。
An optional company name []: 可选的公司名称。

其中比较重要的是Common Name,这里填写的是你的域名,如:www.baidu.com。

openssl x509 -req -days 365 -in csr.pem -signkey private.key -out private.crt

含义:生成一个证书,有效期为365天,保存在private.crt文件中。


3.配置nginx

3.1 配置http/2


# ...... 省略其他配置

http {

    # ...... 省略其他配置

    server {
        listen 443 ssl;

        http2 on;

        ssl_certificate private.crt;
        ssl_certificate_key private.key;

        location / {
            root html;
            index index.html index.htm;
        }
    }
}

如果你是初学者,看到省略的配置请不要慌张,你只需要在http中添加server配置即可。

注意:http2需要nginx版本大于1.9.5

注意:切记ssl_certificatessl_certificate_key请填写你自己的证书位置,或者将你创建好的证书放在当前目录下。如果你不知道你的证书位置,可以执行find / -name private.crt查找。

注意:location部分也是如此,你需要将root改为你的项目根目录。root html的意思是将html目录作为根目录,如果你的项目根目录是/home/www,那么你需要将root html改为root /home/www。比如你配置的是root /home/www;index index.html index.htm;,那么当你访问https://localhost时,nginx会自动寻找/home/www/index.html或者/home/www/index.htm文件,如果找到了,就会返回给浏览器,如果没有找到,就会返回404。

location / {
    root html;
    index index.html index.htm;
}

这个配置的意思是返回当前目录下的html文件夹中的index.html或者index.htm文件。

假设我们的index.html文件内容如下:

<h1>Hello,Nginx HTTP/2h1>

4.保存配置文件

  • 点击 esc
  • 输入 :wq

5.重启nginx

nginx -s reload

这一步需要 root权限,以 linux 为例,如果你是 root用户,那么直接执行上面的命令即可,如果你不是 root用户,那么需要在命令前加 sudo,如下:

sudo nginx -s reload

6.测试


nginx服务器配置http/2_第1张图片



因为我们使用的自定义证书,所以浏览器会提示不安全,作为测试,我们可以忽略这个提示。

打开浏览器,输入 https://localhost,如果你看到了 Hello,Nginx HTTP/2,那么恭喜你,你已经成功配置了 http/2。



nginx服务器配置http/2_第2张图片

你可能感兴趣的:(Nginx,nginx,服务器,http)