`
85977328
  • 浏览: 1904362 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nginx系列(十四)nginx下支持http/2.0

 
阅读更多
http/2.0是http/1.1的升级版,简称h2,主要应用于https。和html的h5简称不在一个维度上。而http://继续使用http1协议.
优势参考文章 http://www.tuicool.com/articles/aqyMve


注意,前方有大坑!!!!!!!!!!!!!!!!
1)本实验中,不要使用 "nginx -s reload" 命令,重启不生效。而是要使用"nginx -s stop"之后再启动"nginx",配置文件才会生效。
2)官方明确说明openssl必须是1.0.2(1.1.0编译不过去,1.0.0中http2不生效),参考文章:http://nginx.org/en/docs/http/ngx_http_v2_module.html
3)nginx必须是1.9.5之后,1.11.x页可以



1.安装nginx(ssl、http2模块)
nginx1.9.5开始正式支持http2,目前最新的版本是1.9.15。
centos安装依赖
yum -y install make gcc zlib zlib-devel openssl openssl-devel pcre pcre-devel
ubuntu安装依赖
apt-get install openssl libssl-dev gcc++ zlib1g-dev libpcre3-dev

其中openssl模块也可以自定义安装(),--with-openssl=/opt/openssl-1.0.2h可以自定义制定openssl的安装位置。我们采用系统的openssl。
官方要求1.0.2版本以上,通过openssl version可以查看

解压以后(configure的几个参数是关键,支持http2和ssl),还是三步走:configure,make,make install
./configure --prefix=/opt/nginx/nginx-1.9.15 --with-http_ssl_module --with-http_v2_module --with-openssl=/opt/openssl-1.0.2h
make -j4
make install -j4


2.生成ssl证书(也可以用收费的),建议使用V3版本
参考文章
http://www.wdlth.com/335/migrating-ssl-certificate-from-sha1-to-sha256/

#生成证书,第一步生成的时候要输入密码,自己记住即可,后续步骤,包括重启都要使用。
#生成秘钥对,有私钥、公钥、密码
openssl genrsa -des3 -out server.key 2048
#根据秘钥对生成无密码秘钥对,和server.key是同一个东西,只是有无密码的区别
openssl rsa -in server.key -out server_nopwd.key
#根据秘钥对生成签名请求(启动需要输入密码),有组织信息、salt密码
openssl req -new -key server.key -sha256 -out server.csr
#生成的根证书(生成根证书的时候,也可以使用server.key,但是需要输入密码)
openssl x509 -req -in server.csr -signkey server_nopwd.key -out server.crt -days 365

同时拷贝证书到 conf/ssl目录下

配置文件,新增一个server节点,端口443
    server {
        listen 443 ssl default_server;
        server_name localhost;
ssl_certificate ssl/server.crt;  #公钥,根证书
ssl_certificate_key ssl/server.key; #秘钥对
        #ssl_session_timeout     5m;

        location = /_.gif {
            empty_gif;
        }

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


3.配置http2
就是在listen后面多了个http2,非常简单
    server {
        listen 443 http2 ssl default_server;
        server_name localhost;
ssl_certificate ssl/server.crt;
ssl_certificate_key ssl/server.key;
        #ssl_session_timeout     5m;

        location = /_.gif {
            empty_gif;
        }

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

至此完成安装。如何调试,请查看另外一篇文章。


参考文章
http2.0协议文档
http://www.oschina.net/question/1397765_172789
http/2.0介绍
http://baike.baidu.com/link?url=rKP8zl9hDDkgN9rAN0tGknE3Gq40tAHX7QbMeAN4P5BYaE-K7slaAWw9paV-aYC8oo_9xhnqlVxlcyTr5_mEW_
nginx官方网站
http://nginx.org/
nginx安装证书
http://www.cnblogs.com/tintin1926/archive/2012/07/12/2587311.html
nginx1.9.5配置http2
http://tech.huanqiu.com/news/2015-09/7670017.html



0
1
分享到:
评论

相关推荐

    nginx安装2.0.zip

    **Nginx 2.0 安装指南** Nginx 是一款高性能的 Web 和反向代理服务器,因其高效、稳定、低内存占用而被广泛应用于互联网服务中。本指南将详细介绍如何在服务器上离线安装 Nginx 2.0 版本,特别适合没有互联网连接或...

    2.0线上nginx搭建及优化.docx

    本文将详细介绍如何在 Linux 环境下搭建 Nginx 2.0,并进行性能优化。 **1. 安装 Nginx** 首先,从 Nginx 官方网站 (http://nginx.org/en/download.html) 下载最新版本的安装包。对于 Linux 系统,选择适用的版本...

    nginx-upload-module-2.0.tar.gz

    在处理静态文件、HTTPS支持、以及高并发场景下,Nginx表现出色。而`nginx-upload-module`是一个第三方模块,它允许用户通过HTTP POST请求上传文件到Nginx服务器。这个模块特别适用于那些希望在后端应用处理文件上传...

    linux 下nginx源码包 依赖包 安装文档

    在Linux环境中部署Nginx服务器时,通常需要安装一系列依赖库才能确保Nginx的正常运行。这些依赖库包括但不限于PCRE(Perl Compatible Regular Expressions)、Zlib等。本文将详细介绍如何在Linux环境下使用源码包...

    nginx_https+tomcat_http配置.docx

    #### 一、Windows环境下Nginx与Tomcat HTTPS至HTTP反向代理配置 ##### 1. 安装Nginx - **下载Nginx** - 普通版下载地址: [http://nginx.org/en/download.html](http://nginx.org/en/download.html) - 专业版...

    nginx替代方案,nginx代替apache与jboss

    - **低内存消耗**:在 3 万个并发连接下,10 个 Nginx 进程仅消耗约 150MB 内存(每个进程平均消耗 15MB)。 - **简单的配置文件**:Nginx 的配置文件简洁明了,易于理解和维护。 - **成本效益**:Nginx 是一款开源...

    MiniServer v2.0 php运行环境(Apache+Nginx+MySQL+PHP)

    2013年6月6日 v2.0 1.新增:PHP更换为5.3.22和5.4.12,并更换原APACHE2HANDLER运行方式为CGI-FCGI 2.新增:全面支持Zend Guard加密 3.新增:添加一个快速便捷的文件分享服务器(基于第三方软件) 4.改进:调整...

    (升级版2.0)Nginx配置文件.xmind

    (升级版2.0)Nginx配置文件.xmind,包含关系,负载策略关系

    Nginx配置代理gRPC的方法

    Nginx 1.13.10新增了对gRPC的原生支持。本文介绍如何配置Nginx的gRPC。 安装Nginx Nginx版本要求:1.13.10。 gRPC必须使用HTTP/2传输数据,支持明文和TLS加密数据,支持流数据的交互。这是为了充分利用 HTTP/2 连接...

    nginx-lua环境配置

    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --add-module=../lua-nginx-module-0.9.15 --add-module=../ngx_devel_kit-0.2.19 make -j4 make install echo '/usr/local/lib' >> /etc/...

    nginx升级到支持HTTP2.0的方法示例

    主要介绍了nginx升级到支持HTTP2.0的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    nginx优化 使用Google的开源TCMalloc库

    1:首先下载libunwind-1.1...# cd gperftools-2.0/ # ./configure # make && make install # echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf # /sbin/ldconfig 3:重新编译nginx 不会安装的看这里 ...

    Redis 2.0 协议的 Nginx 上游模块.zip

    Redis 2.0 协议的 Nginx 上游模块姓名ngx_redis2 - Redis 2.0 协议的 Nginx 上游模块此模块不随 Nginx 源一起发布。请参阅安装说明。目录姓名地位版本概要描述指令redis2_queryredis2_raw_queryredis2_raw_...

    Nginx运行为Windows服务的外壳工具(winsw)

    Winsw可以帮助nginx作为windows服务自启动运行。但从官网下载的程序存在一点问题:停止服务时不能正确调用停止进程(-s stop),导致nginx进程不能正常退出。如果采用杀进程方式,又不能把主进程和子进程完整清除。...

    Nginx版UPUPW PHP绿色服务器平台

    UPUPW已配置Nginx的虚拟主机支持伪静态文件,示例包含discuz,phpwind,WordPress和ThinkPHP伪静态规则; UPUPW已配置Nginx的虚拟主机支持Pathinfo路径功能; 支持Nginx和PHPfpm服务的单独开启、关闭与重启; 支持...

    萤火商城V2.0开源版[uni-app端],轻量级前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP

    萤火商城V2.0开源版[uni-app端],轻量级前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP 萤火商城V2.0,是2021年全新推出的一款轻量级、高性能、前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + ...

    使用slb后nginx、apache获取真实ip.docx

    使用 SLB 后 Nginx、Apache 获取真实 IP 在使用 SLB(Server Load Balancer)后,如何获取真实 IP 是一个常见的问题。SLB 的作用是将用户请求分发到多个服务器上,以提高网站的负载能力和可用性。但是,在 SLB 后,...

    ngx_lua_module-windows-1.1.2.0

    ngx_lua_module是一款强大的扩展模块,专为Nginx服务器设计,允许在Nginx配置文件中直接嵌入Lua脚本,极大地增强了Nginx的功能和灵活性。这个"ngx_lua_module-windows-1.1.2.0"是该模块的一个Windows版本,适应于...

    Nginx经典教程

    代理zh的Nginx教程不仅是一系列技术文档,更是深入浅出的技术宝典,旨在帮助Nginx用户提升技能,无论是新手还是经验丰富的系统管理员都能从中获益匪浅。通过这些教程的学习,可以掌握Nginx的高级特性,从而更好地...

Global site tag (gtag.js) - Google Analytics