Nginx 反向代理:重定向时隐藏 index.html

Nginx 反向代理:重定向时隐藏 index.html

我对我的域使用以下配置:

    server_name example.com www.example.com;

    location / {

  proxy_set_header        Host $host;
  proxy_set_header        X-Real-IP $remote_addr;
  proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header        X-Forwarded-Proto $scheme;

    proxy_pass          http://localhost:9999;
    proxy_read_timeout  90;
  }

这很好用,让我可以用我的域名访问托管在端口 9999 上的服务。但是,服务将我重定向到 ./index.html,我想从 URL 中删除 index.html。我已经尝试添加rewrite ^(.*)/index.html$ $1 permanent;

然而,这导致我无法再访问该网站“该页面未正确重定向”

答案1

作为一种解决方法,当您的站点收到请求时,您可以尝试添加index.html到上游请求中/

location / {
    rewrite                 ^/$ /index.html break;
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_pass              http://localhost:9999;
    proxy_read_timeout      90;
}

附加index.html到所有以斜杠结尾的 URI:

    rewrite ^(.*)/$ $1/index.html break;

相关内容