一直都说 Nginx 反向代理很简单,但是真要自己配置就很困难了,特别对我这种小白而言;今天折腾了一下午,终于成功,记录一下。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
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