Nginx 启用HTTP2功能
本文最后更新于 2164 天前,其中的信息可能已经有所发展或是发生改变。

首先说明,Nginx需要1.9.5版本以上,OpenSSL至少需要OpenSSL 1.0.2版本。

下面升级开始升级

1. 下载解压 openssl-1.0.2h

wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz
tar xf openssl-1.0.2h.tar.gz

2. 下载解压 Nginx 1.10.0

http://nginx.org/download/nginx-1.10.0.tar.gz
tar xf nginx-1.10.0.tar.gz
cd nginx-1.10.0

升级先备份之前的Nginx

mv /usr/local/nginx /usr/local/nginx_back

接下来就可以升级Nginx

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_realip_module --with-pcre --with-http_v2_module --with-http_gunzip_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.2h

注意oepnssl源码的路径以及必须启动http_v2ssl模块,现阶段http2只支持https加密的网站

3. 配置 Nginx

把以前老版本Nginxconf目录的下的nginx.conf拷贝到新安装的Nginx中的conf目录下,同时如果有vhosts目录的话也拷贝过去。

重点是vhosts中的.conf文件

内容如下:

server

{

        listen 80;
        server_name laowang.me www.laowang.me;

        if ($host != 'laowang.me') {
            rewrite ^/(.*)$ https://laowang.me/$1 permanent;
        }

        rewrite /^(.*) https://$server_name/$1 permanent;
        index index.html index.htm index.php;
        root /wangzhangenmulu;

        access_log logs/laowang.log man;
        error_log logs/laowang_err.log;

        error_page 404 /404/index.php;

        listen 443 ssl http2;
        ssl on;
        ssl_certificate /etc/fullchain.pem;
        ssl_certificate_key /etc/privkey.pem;

        ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_session_cache shared:SSL:10m;

        ssl_stapling on;
        ssl_stapling_verify on;
        resolver 8.8.8.8 8.8.4.4 valid=300s;
        resolver_timeout 5s;

        ssl_prefer_server_ciphers on;
        ssl_dhparam /etc/ssl/certs/dhparam.pem;

        add_header Strict-Transport-Security max-age=63072000;
        add_header X-Frame-Options DENY;
        add_header X-Content-Type-Options nosniff;

        if ($scheme = http) {
                return 301 https://$server_name$request_uri;
         }

以上只是贴出了最重要的一段,至于网站源码存放路径和ssl证书存放路径都需要更改为相应的内容。

ssl证书可以用:Let's Encrypt 免费的

4. 测试HTTP2

chrome可以在地址栏输入:chrome://net-internals/选择HTTP/2Negotiated Protocol 是不是h2
chrome开发者工具也可以看
还有这个网站:https://tools.keycdn.com/http2-test

以及测试服务器安全程度:https://www.ssllabs.com/ 应该是A+的水准。

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇