Nginx代理以及面向未来的HTTP
windows下使用nginx
通过官网下载Nginx,将其解压。在命令行内输入./nginx.exe
即可启动。
基础代理配置
如果启动的nginx进程过多,可能会导致代理不生效!
通过
taskkill /IM nginx.exe /F
命令可以清除所有nginx进程。
通过
include server/*.conf
实现为单独一个站点设置配置文件1
2
3http{
include server/*.conf
}此配置代表将server文件下的所有conf文件导入。
最简单的代理
1
2
3
4
5
6
7
8
9server{
listen 80;
server_name test.com;
location /{
proxy_pass http://127.0.0.1:8888;
# 修改代理头为请求的地址
proxy_set_header Host $host;
}
}以上配置表示 当访问test.com时会映射到本地8888端口。
$host
表示请求的地址。
代理缓存
1 | proxy_cache_path cache levels=1:2 keys_zone=my_cache:10m; |
可以使用Vary对不同请求头设置缓存。
HTTPS
证书生成命令:
1 | openssl req -x509 -newkey rsa:2048 -nodes -sha256 -keyout localhost-privkey.pem -out localhost-cert.pem |
- 通过nginx部署https服务
1 | server{ |
其中将证书放到了根目录下certs
文件夹下。
访问自动跳转https
1
2
3
4
5
6server{
listen 80 default_server;
listen [::]:80 default_server;
server_name test.com;
return 302 https://$server_name$request_url;
}
HTTP2的优势
信道复用
分帧传输
Server Push
HTTP1.1中
HTTP2中
通过nginx设置HTTP2
1 | server{ |
http2必须在https的基础上开启。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小康博客!
评论
TwikooWaline