我必须在服务器中设置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/
仍在工作?谢谢!
答案 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
配置的更改之间清除浏览器缓存。