如何重构优化一下这段nginx配置?

2013-06-23 12:53:24 +08:00
 andybest
我需要在一个nginx反代上,针对所有html配置文件做一个1分钟缓冲,我测试了location标签不支持嵌套,这导致我目前配置重复写了两次反代的配置:

location = / {
proxy_pass http://127.0.0.1:91;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ \.html {
proxy_pass http://127.0.0.1:91;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_cache cache_one;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 301 302 1m;
proxy_cache_valid any 1m;
expires 1m;
}

我感觉这样非常的傻,有没什么办法优化一下?

感谢!
3195 次点击
所在节点    问与答
7 条回复
andybest
2013-06-23 12:56:26 +08:00
@Channing 请关注,感谢! :)
feiandxs
2013-06-23 13:04:35 +08:00
别的不说

proxy_cache_valid 200 301 302 1m;
proxy_cache_valid any 1m;

是挺傻的
andybest
2013-06-23 13:06:02 +08:00
@feiandxs 谢谢,怎么优化比较好?
Showfom
2013-06-23 13:41:28 +08:00
我给我们的图床做的反代的代码,反正就图片。。。

server {
listen 80;
server_name ki.ki.ki;

location / {
proxy_pass http://dulei.si/;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 512k;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_cache cache_one;
proxy_cache_valid 200 304 365d;
proxy_cache_key $host$uri$is_args$args;
expires max;
}
}

不过你给本机做反代的话, HTML 真没必要做缓存啊
andybest
2013-06-23 15:02:12 +08:00
@Showfom 谢谢,你配置是给所有/的文件做了缓冲阿

我需要缓冲仅针对*.html文件的(*.html只是个例子)
Channing
2013-06-23 21:12:06 +08:00
公共部分的处理:

-----
my_proxy.conf
-----
proxy_pass http://127.0.0.1:91;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

-----
你的配置文件
-----
location = / {
include my_proxy.conf;
}

location ~ \.html {
include my_proxy.conf;

#其他配置
}
andybest
2013-06-23 22:37:59 +08:00
@Channing 真是太感谢了!!you are my Hero!!! :)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/73314

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX