nginx代理

1. 介绍一下Nginx代理的原理?

1.1 代理的原理

正向代理(forward)是一个位于客户端【用户A】和原始服务器(origin server)【服务器B】之间的服务器【代理服务器Z】,为了从原始服务器取得内容,用户A向代理服务器Z发送一个请求并指定目标(服务器B),然后代理服务器Z向服务器B转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理

  • 正向代理就是代理服务器替代访问方【用户A】去访问目标服务器【服务器B】

1.2 反向代理的原理

反向代理结论与正向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样

1.3 nginx基本代理

server {
  listen        80;
  # 访问的域名
  server_name   test.com;
  # 代理请求
  location / {
    proxy_pass http://127.0.0.1:8888;
    # 设置HTTP头中修改host为test.com
    proxy_set_header Host $host;
  }
}

1.4 nginx配置缓存

# 写在server外
proxy_cache_path  cache levels=1:2 keys_zoom=my_cache:10m
  • cache
    • 文件夹名
  • levels=1:2
    • 设置二级文件夹来存缓存,因为随着文件的越来越多查找速度会越来越慢
  • keys_zoom=my_cache:10m
    • 申请10兆内存来缓存内容
server {
  listen        80;
  server_name   test.com;
  location / {
    proxy_cache   my_cache; #在这里写缓存
    proxy_pass http://127.0.0.1:8888;
    proxy_set_header Host $host;
  }
}

results matching ""

    No results matching ""