Nginx 配置 - 服务 index.html 不起作用

Bil*_*ill 7 nginx

我不知道如何重定向/index.html. 我已经浏览了 serverfault 上的线程,我想我已经尝试了所有建议,包括:

  • 重写里面的语句 location /
  • index index.htmlserver级别、location /静态内容内和静态内容内
  • node.js委托书移至location ~ /i而不是内部location /

显然,我的配置中的其他地方出了问题。这是我的 nginx.conf:

worker_processes  1;

pid        /home/logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include            mime.types;
    default_type       application/octet-stream;
    sendfile           on;
    keepalive_timeout  65;

    error_log   /home/logs/error.log;
    access_log  /home/logs/access.log combined;

    include sites-enabled/*;
}
Run Code Online (Sandbox Code Playgroud)

和我的服务器配置位于启用站点

server {
  root        /home/www/public;
  listen      80;
  server_name localhost;

  # proxy request to node
  location / {
    index index.html index.htm;
    proxy_set_header   Host             $http_host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    proxy_set_header   X-NginX-Proxy    true;

    proxy_pass         http://127.0.0.1:3010;
    proxy_redirect     off;
    break;
  }  

  #  static content
  location ~ \.(?:ico|jpe?g|jpeg|gif|css|png|js|swf|xml|woff|eot|svg|ttf|html)$ {
    access_log  off;
    add_header  Pragma public;
    add_header  Cache-Control public;
    expires     30d;  
  }

  gzip on;
  gzip_vary on;
  gzip_http_version 1.0;
  gzip_comp_level 2;
  gzip_proxied any;
  gzip_min_length  1000;
  gzip_disable     "msie6";
  gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
}
Run Code Online (Sandbox Code Playgroud)

其他一切都工作得很好。请求被正确代理到节点并正确提供静态内容。我只需要能够转发到的请求//index.html

Pot*_*thu 10

基本上,root指令(在 location 块内)没有提到完整路径。此外,指令;末尾缺少a index(可能是拼写错误,nginx 通常会捕获这些拼写错误)。

因此,位于启用站点的服务器配置将如下所示(在上述两个更改之后)...

服务器 {
  根 /home/www/public;
  听80;
  server_name 本地主机;
  index index.html index.htm;

  # 代理请求节点
  位置@proxy {
    proxy_set_header 主机 $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-NginX-Proxy true;

    proxy_pass http://127.0.0.1:3010;
    proxy_redirect 关闭;
    休息;
  }

  地点 / {
    try_files $uri $uri/ @proxy;
  }

# 其余配置
# ...
# ...

}