NginX 不会在 go web 应用程序之前提供静态文件 index.html

NginX won't serve static file index.html before go web app

我正在使用 nginxUbuntu 18.04 服务器上提供 go web 应用程序 运行。我希望它在我转到 mydomain.com 时首先响应索引指令,但在我下面的 nginx 配置中,它直接转到 Web 应用程序并忽略我的 index.html 文件。如果我得到 mydomain.com/index.html 但不会从索引中获取该文件,它确实有效。 /var/log/nginx/error.log 没有错误。

静态文件被 chown 编辑为 root:www-data chmod 640

我的静态文件在 /srv/static/,我的 go 网络服务器在 /srv/web/

这是我的站点可用配置文件:

server {
       listen         80;
       server_name    mydomain.com;
       return         301 https://$server_name$request_uri;
}

server {
        server_name mydomain.com;

        listen 443 ssl;

        ssl on;
        ssl_certificate     /etc/letsencrypt/live/mydomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;

        root /srv/static; 

        index index.html;

        location / {          
           try_files $uri @proxy;
        }

        location @proxy {
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $remote_addr;
           proxy_set_header Host $host;
           proxy_pass http://127.0.0.1:8000;
        }
}
location / {
    try_files $uri $uri/ @proxy; # add $uri/ here
}