【问题标题】:nginx server everything under / except for one uringinx 服务器 / 下的所有内容,除了一个 uri
【发布时间】:2021-06-20 15:42:21
【问题描述】:

我希望能够调用三个 URL:

  • example.com/
  • example.com/gdpr
  • example.com/api

example.com/api 实际上是一个反向代理,所有其他位置都指向我的文档根目录,那里有静态 html 文件。

我的服务器配置如下所示:

server {
    server_name example.com;
    index index.html;

    root /var/www/html; 

    location / {
        root /var/www/html;
    }   

    location /api/ {
        proxy_pass http://xxx.xxx.xxx.xxx:xxxx;
    }

    listen 443 ssl; # managed by Certbot
}

我可以创建一个名为 /gdpr/ 的新位置,它会起作用。不幸的是,如果站点增加,这不是很舒服。

现在的行为是:

  • example.com/ => 200
  • example.com/gdpr => 404
  • example.com/api => 200

您能否告诉我,我该如何处理这个问题,即 /api/ 是一个反向代理,但其他一切都在根目录下正常运行?

【问题讨论】:

    标签: nginx location


    【解决方案1】:

    我通过添加使其工作

    try_files $uri /index.html;
    

    在位置/部分

    【讨论】:

      猜你喜欢
      • 2019-01-12
      • 2022-09-25
      • 1970-01-01
      • 1970-01-01
      • 2020-08-01
      • 2011-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多