前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx代理以及面向未来的HTTP

Nginx代理以及面向未来的HTTP

作者头像
Dreamy.TZK
发布2020-08-17 09:55:49
2580
发布2020-08-17 09:55:49
举报
文章被收录于专栏:小康的自留地小康的自留地

windows 下使用 nginx

通过官网下载 Nginx,将其解压。在命令行内输入./nginx.exe 即可启动。

image-20200814195306631
image-20200814195306631
image-20200814195331140
image-20200814195331140

基础代理配置

如果启动的 nginx 进程过多,可能会导致代理不生效! 通过 taskkill /IM nginx.exe /F 命令可以清除所有 nginx 进程。

  1. 通过 include server/*.conf 实现为单独一个站点设置配置文件
image-20200814195736125
image-20200814195736125

此配置代表将 server 文件下的所有 conf 文件导入。

代码语言:javascript
复制
http{
    include server/*.conf
}
  1. 最简单的代理 以上配置表示 当访问 test.com 时会映射到本地 8888 端口。$host 表示请求的地址。
代码语言:javascript
复制
server{
    listen 80;
    server_name test.com;
    location /{
        proxy_pass http://127.0.0.1:8888;
        # 修改代理头为请求的地址
        proxy_set_header Host $host;
    }
}

代理缓存

代码语言:javascript
复制
proxy_cache_path cache levels=1:2 keys_zone=my_cache:10m;
server{
    listen        80;
    server_name test.com;
    location / {
        proxy_pass http://127.0.0.1:8888;
        # 修改代理头为请求的地址
        proxy_set_header Host $host;
        # 设置缓存(名字与上方对应)
        proxy_cache my_cache;
    }
}

可以使用 Vary 对不同请求头设置缓存。

HTTPS

image-20200815083641945
image-20200815083641945

证书生成命令:

代码语言:javascript
复制
openssl req -x509 -newkey rsa:2048 -nodes -sha256 -keyout localhost-privkey.pem -out localhost-cert.pem
  • 通过 nginx 部署 https 服务
代码语言:javascript
复制
server{
    listen        ssl;
    server_name test.com;

    ssl on;
    ssl_certificate_key ../certs/localhost-privkey.pem;
    ssl_certificate ../certs/localhost-cert.pem;

    location / {
        proxy_pass http://127.0.0.1:8888;
        # 修改代理头为请求的地址
        proxy_set_header Host $host;
    }
}

其中将证书放到了根目录下 certs 文件夹下。

  • 访问自动跳转 https
代码语言:javascript
复制
server{
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name test.com;
    return 302 https://$server_name$request_url;
}

HTTP2 的优势

  • 信道复用
  • 分帧传输
  • Server Push HTTP1.1 中
image-20200815090204244
image-20200815090204244

HTTP2 中

image-20200815090355014
image-20200815090355014

通过 nginx 设置 HTTP2

代码语言:javascript
复制
server{
    listen        ssl http2;
    http2_push_preload on;
}

http2 必须在 https 的基础上开启。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • windows 下使用 nginx
  • 基础代理配置
  • 代理缓存
  • HTTPS
  • HTTP2 的优势
  • 通过 nginx 设置 HTTP2
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档