ngnix反向代理index配置的问题

配置了正确的index,但是访问的时候403,是默认页面只会去服务器下找文件而不是以url的方式进行访问吗,因为这个页面是服务端动态生成的。

server {
      listen          80;
      server_name     manage.vs.com;
      root            /lee/web/;
      location / {
        index login.html;
      }
      location ~ \.(do|jsp|json|html)$ {
        proxy_pass        http://127.0.0.1:8080;
        proxy_set_header  X-Real-IP $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header  Host $http_host;
      }
    }

配置如上 index login.html
这个页面如果直接在浏览器输入http://manage.vs.com/login.html是可以打开的
但是用默认的http://manage.vs.com打开就会403,因为指定的根目录下没有login.html这个文件这个是服务端动态生成的。

阅读 5.6k
2 个回答
server {
    listen          80;
    server_name     manage.vs.com;
    root            /lee/web/;
    location / {
        index login.html;
    }
    location ~ \.(do|jsp|json|html)$ {
        proxy_pass        http://127.0.0.1:8080;
        proxy_set_header  X-Real-IP $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header  Host $http_host;
    }
    location = / {
        proxy_pass        http://127.0.0.1:8080;
        proxy_set_header  X-Real-IP $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header  Host $http_host;
    }
}

已经解决了,如果是因为index.html是tomcat中的动态url。配置index时前面要加斜杠
location / {

index /login.html;

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进