nginx重新整理——————反向代理[五]

前言

简单整理一下反向代理。

正文

为什么要反向代理呢? 其实这个问题也是相对来说比较好理解的。

  1. 一个就是解耦,为什么这么说呢,就是将原本应用的一部分剥离出来,比如说限制流量,如果在程序中写那么相比会增加程序的复杂度。

  2. 水平扩展,这个没什么好说的吧,有了水平扩展那么整体性能就得到了一个大的提高。

那么就来弄一下吧。

先把上一节的服务改成一个内网服务,也就是假设有另外一个服务。

那么这个现在只有内网可以访问。

然后设置代理:

upstream local{
    server 127.0.0.1:8080;
}

server {
    server_name www.axm.com;
    listen 80;
    location /{
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://local;
    }
}

这个proxy_set_header 一般都要加上,不然拿到的就是本地地址了。

那么如何设置代理缓存呢?

proxy_cache_path /tmp/nginxcache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;

然后再缓存的地方这样使用

proxy_cache my_cache;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 304 302 1d;

然后可以去看一下这个缓存的内容哈:

这个就是key:

值得注意的是,这里不是浏览器的缓存哈,而是nginx 的缓存。

现在关掉静态代理服务看下是否还能访问不。

试了一下还是可以访问:

然后手动删除一下缓存。

这样就不能访问了:

下一节介绍一下log的监控。

posted @ 2022-05-01 20:52  敖毛毛  阅读(67)  评论(0编辑  收藏  举报