小编Dav*_*vid的帖子

收到特定请求时绕过 Nginx 缓存

我正在为我的应用程序使用 Nginx 缓存。我想绕过一个非常具体的请求字符串的缓存。我以为我可以使用以下内容来实现这一目标:

location / {
 if($uri ~ .*(ServerCheck).*) {set $nocache 1; }
 proxy_pass http://127.0.0.1:9001/;
 proxy_no_cache $nocache;
 proxy_cache_bypass $nocache;
 proxy_cache crownstudent;
 proxy_cache_valid 200 1y;
 proxy_cache_use_stale error timeout invalid_header updating
 http_500 http_502 http_503 http_504;
}
Run Code Online (Sandbox Code Playgroud)

但是,这似乎不起作用。有什么办法可以让我做到这一点吗?Nginx 文档非常不清楚并且缺乏示例。

谢谢!

nginx

7
推荐指数
1
解决办法
4410
查看次数

HAProxy 似乎无缘无故地返回错误请求(无效主机)

我一直在尝试测试如下所示的设置:

网站:Http GET 请求 -> Nginx -> HAProxy -> .Net 应用程序

我将 Nginx 和 HAProxy 放在同一台 Debian 机器上。但是,HAProxy 不断返回“Bad Request (Invalid Host)”。我已经确定 HAProxy 有问题,首先将请求直接从网站发送到 .Net 应用程序,该应用程序有效。将 Nginx 链接到 .Net 应用程序也有效。但是,当我尝试使用 HAProxy 进行测试时,我开始收到错误消息。.Net 应用程序是否实际在 HAProxy 后面运行并不重要,我总是收到错误消息。

我尝试发送的消息的一个示例是http://192.168.7.119:81/a:diff1. 预期的回复是 JPG 图像。当发送到 HAProxy(Apache、Nginx、应用程序)以外的任何东西时,这似乎工作正常,但 HAProxy 只是说“错误请求”。奇怪的是,我的日志文件中没有看到任何错误。

以下是日志文件中的示例:

Feb  2 15:10:08 companyDebian haproxy[5566]: 192.168.7.114:51105 [02/Feb/2015:15:10:08.415] renderfarm renderfarm/renderA 0/0/0/1/1 400 212 - - ---- 1/1/0/1/0 0/0 "GET /a:diff1 HTTP/1.1"
Feb  2 15:10:08 companyDebian haproxy[5566]: 192.168.7.114:51105 [02/Feb/2015:15:10:08.417] renderfarm renderfarm/renderA 73/0/0/4/77 400 212 - - ---- …
Run Code Online (Sandbox Code Playgroud)

haproxy 400 bad-request

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

400 ×1

bad-request ×1

haproxy ×1

nginx ×1