HTTP2.0的实现

栏目: 服务器 · Nginx · 发布时间: 5年前

内容简介:刚刚把全站上了HTTPS,部署了CDN。在部署CDN的时候发现有个HTTP2.0支持的选项,于是开始升级HTTP2.0这是一个开源的nginx扩展项目,为nginx增加了很多有用的功能,自带了一些防火墙措施,而且提供了相当友好的控制界面安装步骤:
HTTP2.0的实现

前言

刚刚把全站上了HTTPS,部署了CDN。在部署CDN的时候发现有个HTTP2.0支持的选项,于是开始升级HTTP2.0

安装Verynginx

这是一个开源的nginx扩展项目,为nginx增加了很多有用的功能,自带了一些防火墙措施,而且提供了相当友好的控制界面

安装步骤:

#更新一下系统 
apt update
apt upgrade && apt dist-upgrade

#安装依赖环境 
apt install git wget perl make build-essential procps libreadline-dev libncurses5-dev libpcre3-dev libssl-dev 

#添加nginx用户组 
groupadd -r nginx && useradd -r -g nginx nginx 

#下载Verynginx 
git clone https://github.com/alexazhou/VeryNginx.git 

#安装Verynginx 
cd VeryNginx 
python install.py install

启动Verynginx

#启动
sudo /opt/verynginx/openresty/nginx/sbin/nginx

#重载配置
sudo /opt/verynginx/openresty/nginx/sbin/nginx -s reload

申请证书

  1. 申请的腾讯云的 免费SSL证书   –>    传送门
  2. 如果有域名直接申请即可,没有域名,腾讯云 .club域名首年1元   –>    传送门
  3. 申请证书选择  免费版DVSSL证书
  4. 填写相关信息即可,如果是腾讯云够买的域名会直接发放证书,如果是其他服务商购买的需要自行添加 TXT记录 进行域名认证

部署证书

  1. 进入SSL证书管理,下载相应的证书
  2. 解压zip压缩包,将nginx目录下的 XXXX.crtXXXX.key 上传到服务器上,假设目录为 /path/to/ssl

修改Verynginx配置文件

1、编辑 /opt/verynginx/openresty/nginx/conf/nginx.conf

2、添加一个include语句

include /opt/verynginx/verynginx/nginx_conf/in_http_block.conf;
include /opt/verynginx/verynginx/nginx_conf/sites/*.conf;    #添加此行代码
server {
   listen       80;
        
   #this line shoud be include in every server block
   include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;
   location = / {
            root   html;
            index  index.html index.htm;
   }
}

3、 创建文件夹 mkdir  /opt/verynginx/verynginx/nginx_conf/sites

4、 进入该文件夹并新建 XXX.conf cd /opt/verynginx/verynginx/nginx_conf/sites && touch XXXX.conf

5、 编辑  XXXX.conf 文件内容如下:

server {
        listen 443 ssl http2  fastopen=3 reuseport;     #开启HTTP2.0支持并启用端口复用
        server_name XXXX;                               #你的域名

    ssl on;
        ssl_certificate     /path/to/ssl/XXXX.crt;      #证书crt文件的路径
    ssl_certificate_key /path/to/ssl/XXXX.key;      #证书key文件的路径

        
    ssl_stapling on;                                #开启OCSP Stapling
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;            
    resolver_timeout 10s;
        ssl_buffer_size 8k;
        ssl_session_tickets on;
        ssl_session_cache shared:SSL:20m;
        ssl_session_timeout 10m;

        #设置加密协议,TLSv1协议将于2019年被废弃,如果不用IE6老古董建议不启用
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;            
        ssl_prefer_server_ciphers on;
        ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4';
        
        #开启HSTS务必保证所有子域名都已经配置好HTTPS,否则删除掉includeSubdomains
        add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" always;

        #防止点击劫持
        add_header X-Frame-Options SAMEORIGIN always;
        #防止XSS攻击
        add_header X-XSS-Protection "1; mode=block" always;
        #防止MIME探测
        add_header X-Content-Type-Options nosniff;

        #this line shoud be include in every server block
        include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;

        root /path/to/website;      #网站根目录
        location / {
             #与普通nginx配置相同
        }
}

重启Verynginx

#重载配置
sudo /opt/verynginx/openresty/nginx/sbin/nginx -s reload
HTTP2.0的实现

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Agile Web Development with Rails 4

Agile Web Development with Rails 4

Sam Ruby、Dave Thomas、David Heinemeier Hansson / Pragmatic Bookshelf / 2013-10-11 / USD 43.95

Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details. Tens of thousands of deve......一起来看看 《Agile Web Development with Rails 4》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试