专栏首页小康的自留地Nginx代理以及面向未来的HTTP

Nginx代理以及面向未来的HTTP

windows 下使用 nginx

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

基础代理配置

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

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

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

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

代理缓存

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

证书生成命令:

openssl req -x509 -newkey rsa:2048 -nodes -sha256 -keyout localhost-privkey.pem -out localhost-cert.pem
  • 通过 nginx 部署 https 服务
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
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 中

HTTP2 中

通过 nginx 设置 HTTP2

server{
    listen        ssl http2;
    http2_push_preload on;
}

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 七、NodeJs数据库管理

    MySQL程序可以使用PHP study集成工具。链接、操作数据库可以使用phpstudy自带的工具也可以使用navicat工具。

    Dreamy.TZK
  • 04JavaScript数组

    所以可以得到对于索引数组,长度是有效的;但对于关联数组无法获取长度。而对于稀疏数组,取决于键。

    Dreamy.TZK
  • 07JavaScript引用类型

    Date提供now()方法,可以得到一个从 1970 年1月1日 00:00:00 至当前系统时间的毫秒数值。

    Dreamy.TZK
  • 使用 Nginx 对 ASP.NETCore网站 或 Docker 等进行反向代理

    Nginx 可以配置反向代理、负载均匀等, 其默认配置文件名为 nginx.conf 。

    痴者工良
  • 基于Python3的资产处理工具「bufferfly」

    攻防演习/渗透测试资产处理小工具,对攻防演习/渗透测试前的信息搜集到的大批量资产/域名进行存活检测、获取标题头、语料提取、常见Web端口检测等。

    HACK学习
  • nginx常见架构

    总结 开启压缩主要是为了减少网络传输消耗,浏览器会对压缩的文件进行解压缩,这个过程要快很多。

    lyb-geek
  • Nginx 强制 HTTPS 配置

    注意:需要将 server_name、proxy_pass、ssl_certificate、ssl_certificate_key 改为自己的值。

    晓晨
  • Nginx从入门到实战,一学就会!

    Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。本文的作者为「静默虚空」 ,可点击文...

    黄泽杰
  • nginx简易教程

    nginx简易教程 概述 什么是nginx? Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代...

    静默虚空
  • 超详细的Nginx简易教程,一学就会!

    Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。本文的作者为「静默虚空」 ,可点击文...

    好好学java

扫码关注云+社区

领取腾讯云代金券