NginX 不会在 go web 应用程序之前提供静态文件 index.html
NginX won't serve static file index.html before go web app
我正在使用 nginx
在 Ubuntu 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
}
我正在使用 nginx
在 Ubuntu 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
}