小编Umu*_*zer的帖子

Nginx,将一个位置块重定向到另一个

对于以 /c/ 开头的 uri,我想做一个 memcached 键测试,如果存在则返回键的值。如果没有密钥,则应将其传递给代理。

我用这个指令来做:

location ^~ /c/ {
    set $memcached_key "prefix:$request_uri";
    memcached_pass 127.0.0.1:11211;

    default_type       application/json;
    error_page 404 405 502 = @proxy
}
Run Code Online (Sandbox Code Playgroud)

对于所有其他请求,我希望它们传递给同一个代理。我用下面的指令来做:

location / {
    proxy_pass       http://127.0.0.1:5555;
    proxy_redirect   off; 
    proxy_set_header Host $host; 
    proxy_set_header X-Real_IP $remote_addr; 
    proxy_set_header X-Forwarded_For $proxy_add_x_forwarded_for;
}
Run Code Online (Sandbox Code Playgroud)

我的@proxy位置是这样的:

location @proxy {
    proxy_pass       http://127.0.0.1:5555;
    proxy_redirect   off; 
    proxy_set_header Host $host; 
    proxy_set_header X-Real_IP $remote_addr; 
    proxy_set_header X-Forwarded_For $proxy_add_x_forwarded_for;
}
Run Code Online (Sandbox Code Playgroud)

正如所见,@proxy/. 我不想复制粘贴我的代理配置。相反,我想将位置重定向/@proxy. 如何将一个位置块重定向到另一个?如何摆脱代理的重复配置?

nginx reverse-proxy

6
推荐指数
1
解决办法
6801
查看次数

标签 统计

nginx ×1

reverse-proxy ×1