内容简介:刚刚把全站上了HTTPS,部署了CDN。在部署CDN的时候发现有个HTTP2.0支持的选项,于是开始升级HTTP2.0这是一个开源的nginx扩展项目,为nginx增加了很多有用的功能,自带了一些防火墙措施,而且提供了相当友好的控制界面安装步骤:
前言
刚刚把全站上了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
申请证书
- 申请的腾讯云的 免费SSL证书 –> 传送门
- 如果有域名直接申请即可,没有域名,腾讯云 .club域名首年1元 –> 传送门
- 申请证书选择 免费版DVSSL证书
- 填写相关信息即可,如果是腾讯云够买的域名会直接发放证书,如果是其他服务商购买的需要自行添加 TXT记录 进行域名认证
部署证书
- 进入SSL证书管理,下载相应的证书
- 解压zip压缩包,将nginx目录下的 XXXX.crt 和 XXXX.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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- php如何实现session,自己实现session,laravel如何实现session
- AOP如何实现及实现原理
- webpack 实现 HMR 及其实现原理
- Docker实现原理之 - OverlayFS实现原理
- 为什么实现 .NET 的 ICollection 集合时需要实现 SyncRoot 属性?如何正确实现这个属性?
- 自己实现集合框架(十):顺序栈的实现
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
HTML5移动应用开发入门经典
凯瑞恩 / 林星 / 人民邮电出版社 / 2013-3 / 55.00元
《HTML5移动应用开发入门经典》总共分为24章,以示例的方式对如何使用HTML5及相关技术进行移动应用开发做了全面而细致的介绍。《HTML5移动应用开发入门经典》首先讲解了HTML5的起源以及它为什么适用于移动设备,然后讲解了HTML5的基本元素以及所做的改进、canvas(画布)、视音频、微格式、微数据、拖曳等新增特性,还讲解了WebSocket、WebWorkers、Web存储、离线Web应......一起来看看 《HTML5移动应用开发入门经典》 这本书的介绍吧!
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
RGB CMYK 转换工具
RGB CMYK 互转工具