Nginx代理覆盖默认的HTML文件

Nginx代理覆盖默认的HTML文件,nginx,proxy,Nginx,Proxy,我正在尝试用docker compose设置一个代理,它工作得很好 不过 我正在托管代理a“/”端点,它似乎覆盖了nginx根文件夹中的默认html文件。代理服务器只有一个url为“/login”的端点 如何查看我的index.html?我是否可以覆盖代理,即如果存在某个文件,则显示该文件 希望你能理解 Nginx conf文件: server { listen 80; server_name localhost; index index.ht

我正在尝试用docker compose设置一个代理,它工作得很好

不过

我正在托管代理a“/”端点,它似乎覆盖了nginx根文件夹中的默认html文件。代理服务器只有一个url为“/login”的端点

如何查看我的index.html?我是否可以覆盖代理,即如果存在某个文件,则显示该文件

希望你能理解

Nginx conf文件:

server {
    listen 80;
    server_name localhost;


                index index.html;
                root  /var/www/;

    location / {
        proxy_pass http://flask-app:5000/;
        proxy_set_header Host "localhost";
    }
}
PS:如果我移除代理,我可以看到HTML文件

编辑

我试过这个:

server {
    listen 80;
    server_name localhost;

    index index.html;
    root  /var/www/;

    location / {
        try_files $uri $uri/ @proxy;
    }
    location @proxy {
        proxy_pass http://flask-app:5000/;
    }

}
这就是我应该如何实施的吗

启动时出现此错误:

“proxy_pass”不能在正则表达式给定的位置、命名位置、if语句或/etc/nginx/conf.d/default.conf:12中的limit_except块中包含URI部分


nginx | nginx:[emerg]“proxy_pass”不能在正则表达式给定的位置中,或在命名位置中,或在“if”语句中,或在/etc/nginx/conf.d/default.conf:12中的“limit_except”块中包含URI部分。我在配置文件中这样做:

server {
    listen 80;
    server_name localhost;

    index index.html;
    root  /var/www/;

    location / {
        try_files $uri $uri/ @proxy;
    }
    location @proxy {
        proxy_pass http://flask-app:5000/;
    }

}

多亏了Richard Smith,尝试一下。它似乎不起作用,请检查我的编辑答案,如果你知道什么是错的,那就太好了。从
代理通行证
语句中删除尾随的
/