龙空技术网

让nginx支持http2

linux运维菜 1321

前言:

此时兄弟们对“c语言httplinux”都比较关心,咱们都需要学习一些“c语言httplinux”的相关文章。那么小编在网摘上收集了一些对于“c语言httplinux””的相关资讯,希望姐妹们能喜欢,咱们快快来学习一下吧!

版本支持

目前http2只支持https的网站,openssl版本必须在1.0.2e以上的版本,nginx版本必须在1.9.5版本以上,而且需要编译参数支持:with-http_v2_module、with-http_ssl_module。



openssl

查看openssl版本

openssl  version

如果系统默认的openssl版本不够支持,可以直接下载源码,不需要安装,只要在nginx编译的时候,指定到对应的目录。

下载源码

wget -c 
下载PCRE

正则支持,也只是需要源码即可,不需要安装二进制。

wget -c 



下载Zlib

压缩支持,也只是需要源码即可,不需要安装二进制。

wget -c 
下载nginx
wget  -c 
解压
tar zxvf nginx-1.16.1.tar.gz
tar zxvf zlib-1.2.11.tar.gz
tar zxvf pcre-8.43.tar.gz
tar zxvf openssl-1.1.1d.tar.gz
编译安装
cd nginx-1.16.1
./configure --prefix=/opt/nginx --with-stream --with-mail --with-http_geoip_module --with-http_ssl_module --with-mail_ssl_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-openssl=../openssl-1.1.1d --with-zlib=../zlib-1.2.11 --with-pcre=../pcre-8.43 --with-http_v2_module
make
make install
配置Server

直接在listen配置上加上http2的关键字即可开启。

server {
    server_name opcai.top;
    listen 443 ssl http2;
    #证书(公钥.发送到客户端的)
    ssl_certificate /opt/nginx/keys/server.crt;
    #私钥,
    ssl_certificate_key /opt/nginx/keys/server.key;
    access_log logs/opcai.log;
    location /static/ {
      expires 1d;
      alias /data/web/static/;
    }
    add_header Access-Control-Allow-Headers $http_access_control_request_headers;
    location / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_pass ;
    }
  }



检查并启动服务

/opt/nginx/sbin/nginx -t 
/opt/nginx/sbin/nginx

标签: #c语言httplinux #nginx升级http2 #nginx支持http2