创建缓存文件夹
mkdir /home/cache/path -p mkdir /home/cache/temp -p
修改nginx.conf文件中的http区域
server_tokens off;access_log off;#--开始--client_body_buffer_size 512k;#缓冲区代理缓冲用户端请求的最大字节数proxy_connect_timeout 5;#nginx跟后端服务器连接超时时间(代理连接超时)proxy_read_timeout 60;#连接成功后,后端服务器响应时间(代理接收超时)proxy_send_timeout 5;#请求的超时时间proxy_buffer_size 16k;#设置代理服务器(nginx)保存用户头信息的缓冲区大小proxy_buffers 4 64k;#proxy_buffers缓冲区,网页平均在64k以下proxy_busy_buffers_size 128k; #高负荷下缓冲大小(proxy_buffers*2)proxy_temp_file_write_size 128k;proxy_temp_path /home/cache/temp;#新建相应的目录proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache_one:100m inactive=3d max_size=5g;#--结束--#最后一段是反代的一些缓存和设置,最后一句cache_one为缓存区名字,100m是内存占用, 3d是3天删除, 5g是缓存空间,这些时间只是做镜像反代不用设置太长,如果是做集群负载就可以加长相互的连接时间。
反代http
修改domain.conf网站文件:
location / {sub_filter www.domain.com www.baidu.com; #网站域名,反代域名sub_filter_once off;#进行替换proxy_cache cache_one;#缓存区名称proxy_cache_valid 200 304 3h;#200 304状态缓存3小时proxy_cache_valid 301 3d;#301状态缓存3天proxy_cache_valid any 10s;#其他状态缓存(如502 404)10秒proxy_cache_key "$scheme://$host$request_uri";#缓存key规则,自动清除缓存proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#向后端传递访客ipproxy_set_header Referer http://www.baidu.com;#强制定义Refererproxy_set_header Host www.baidu.com;#定义主机proxy_pass http://www.baidu.com;#proxy_set_header Accept-Encoding "";#重要 将信息传递到服务器端}反代https
修改domain.conf网站文件:
location / {sub_filter www.domain.com www.test.com; #网站域名,反代域名sub_filter_once off;proxy_cache cache_one;#缓存区名称proxy_cache_valid 200 304 3h;#200 304状态缓存3小时proxy_cache_valid 301 3d;#301状态缓存3天proxy_cache_valid any 10s;#其他状态缓存(如502 404)10秒proxy_cache_key "$scheme://$host$request_uri";#缓存key规则,自动清除缓存proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#向后端传递访客ipproxy_set_header Referer https://www.test.com;#强制定义Refererproxy_set_header Host www.test.com;#定义主机proxy_pass_header Set-Cookie;#这两句是为了实现wordpress的正常功能#proxy_cache_bypass $logged_in;#proxy_no_cache $logged_in;#这两句是为了实现wordpress的正常功能proxy_pass https://www.test.com;#这种写法,这里就必须得是httpsproxy_set_header Accept-Encoding "";#重要将信息传递到服务器端}