一直都说 Nginx 反向代理很简单,但是真要自己配置就很困难了,特别对我这种小白而言;今天折腾了一下午,终于成功,记录一下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
proxy_cache_path /opt/website/cache_path levels=1:2 keys_zone=blog:20m max_size=1g;
server {
listen 80;
server_name www.ansen.org;
add_header X-Via $server_addr;
add_header X-Cache $upstream_cache_status;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://b3log.ansen.org/;
proxy_set_header X-Real-IP $remote_addr;
proxy_cache blog;
proxy_cache_valid 200 10m;
expires 6h;
}
}
```需要注意的是,在proxy_cache_path中定义了keys_zone=blog,那么下面的proxy_cache也要相应的配置为blog
以下是一些反向代理的配置,可选。```
proxy_set_header Host $host;
client_max_body_size 10m; #允许客户端请求的最大单文件字节数
client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,
proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置
proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
```via:http://freeloda.blog.51cto.com/2033581/1288553
|