nginx在proxy_pass里使用变量

nginx server_name 配置文档: http://nginx.org/en/docs/http/server_names.html

在做 nginx 正则表达式 proxy_pass,nginx 反向代理不过去。 比如

1
2
3
4
5
6
7
8
server {
listen 80;
server_name ~^(?<user>.+)\.domain\.com$;
location / {
proxy_pass <http://$user.domain1.com>;
}

}

会报出如下错误

no resolver defined to resolve xxx.xxx

web端返回http 502 错误。

阅读更多

nginx中gzip和cache配置

gzip

1
2
3
4
5
6
7
8
9
10
gzip on;         #开启 gzip      
gzip_min_length 1k;    # 最小压缩字节
gzip_buffers 16 64k;   # 16 *64k 内存
gzip_http_version 1.1;  #识别协议版本
gzip_comp_level 6;      # 压缩比率
gzip_types text/plain application/javascript text/css application/xml; # 指定压缩的头
gzip_vary on;    # 给代理服务器使用  

gzip_proxied any; #代理结果压缩

阅读更多

php和nginx使用x-accel-redirect做文件下载

1
2
3
4
5
6
7
8
9
10
11

$file_url= "g1/".$file_path;
$file_name=$title.'.'.$file_ext;

header("Content-Type:application/octet-stream;charset=utf-8");
header('Content-Disposition: attachment; filename='.$file_name);
header('X-Accel-Redirect: /filedfs/'.$file_url);
header("X-Accel-Buffering: yes");
header("X-Accel-Limit-Rate :102400"); //速度限制 Byte/s
header("Accept-Ranges: none");//单线程 限制多线程
header("X-Accel-Charset: utf-8");
阅读更多