• 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的监控。

  • 相关阅读:
    2013-2014 NBA 东西部决赛 + 总决赛合集
    小萌库
    小萌库一周电影大合集
    小萌库
    小萌库- 新海诚那些唯美感人的动漫
    小萌库 一周漫画精彩回顾
    小萌库
    Week10-数据库
    Week9-RabbitMQ、Redis、Mysql
    Week8-python(线程、进程、协程)
  • 原文地址:https://www.cnblogs.com/aoximin/p/16213993.html
Copyright © 2020-2023  润新知