如何正确设置nginx服务器的root用户?

时间:2017-11-02 10:27:33

标签: nginx

我必须在服务器中设置root,而不是location。如果我这样设置:

server {
    listen       80;
    server_name  www.mydomain.com;

    location / {
        root   /opt/html;
        index  index_sc.html;
    }

    location /imgproxy/ {
        proxy_pass http://127.0.0.1:8080/;
    }
}

然后我可以毫无问题地访问/imgproxy内容。但是,如果我将root移出location,如下所示/imgproxy会导致404错误:

server {
    listen       80;
    server_name  www.mydomain.com;
    root   /opt/html;

    location / {
        index  index_sc.html;
    }

    location /imgproxy/ {
        proxy_pass http://127.0.0.1:8080/;
    }
}

我想知道我如何在root中设置server并且location /imgproxy/仍在工作?谢谢!

1 个答案:

答案 0 :(得分:0)

我无法重现此行为,但您可以通过添加另一个location block显式处理/imgproxy URI:

root   /opt/html;

location / {
    index  index_sc.html;
}

location = /imgproxy {
    return 301 /imgproxy/;
}

location /imgproxy/ {
    proxy_pass http://127.0.0.1:8080/;
}

确保在nginx配置的更改之间清除浏览器缓存。