我希望nginx首先在本地主机上搜索该文件,并在404错误时搜索服务器1.1.1.1.
我能够获取位于本地主机上的文件,但无法从服务器1.1.1.1获取.
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/access.log main;
location /products/ {
proxy_next_upstream http_404;
root /var/foo;
}
}
server {
listen 80;
server_name 1.1.1.1;
location /products/ {
#########
}
}
Run Code Online (Sandbox Code Playgroud)
我猜proxy_next_upstream没有切换到服务器.
任何有关这方面的帮助将不胜感激.
Max*_*nin 33
所述proxy_next_upstream指令是一个配置指令来控制从一组重新请求上游服务器通过proxy_pass如果请求到它们中的一个失败.没有定义proxy_pass的upstream块没有意义.如果您代理多个上游服务器,您可以使用它,如下所示:
upstream backends {
server 192.2.0.1;
server 192.2.0.2;
...
}
server {
...
location / {
proxy_pass http://backends;
proxy_next_upstream error timeout http_404;
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想让nginx在磁盘上搜索一个文件,如果没找到 - 代理请求到另一台服务器,请配置它,例如使用try_filesfallback:
location / {
root /path/to/root;
try_files $uri @fallback;
}
location @fallback {
proxy_pass http://...
}
Run Code Online (Sandbox Code Playgroud)
有关该指令的更多信息,请参见http://nginx.org/r/try_filestry_files.
| 归档时间: |
|
| 查看次数: |
19017 次 |
| 最近记录: |