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;
}
}