内容简介:刚刚把全站上了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 属性?如何正确实现这个属性?
- 自己实现集合框架(十):顺序栈的实现
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Text Processing in Python
David Mertz / Addison-Wesley Professional / 2003-6-12 / USD 54.99
Text Processing in Python describes techniques for manipulation of text using the Python programming language. At the broadest level, text processing is simply taking textual information and doing som......一起来看看 《Text Processing in Python》 这本书的介绍吧!