Nuxt 3 如何将 API 设为私有

问题描述 投票:0回答:1

在我的 Nuxt 3 应用程序中,我所有的 API 路由似乎都是公共的。这意味着任何人都可以导航到 /api/[route] 并查看所有获取的数据,例如 /api/items 以查看数据库中所有项目的详细信息。可以阻止这种情况吗?如果可以,如何仅允许来自服务器内部的 API 调用通过?我不希望任何人能够看到应用程序内更敏感的数据。

我尝试了服务器中间件,但找不到正确的逻辑。

nuxt.js nuxt3
1个回答
0
投票

如果您只想阻止搜索引擎,您可以为

/api/
nginx 配置

添加自定义特定请求标头

例如

X-Special-Header
其值为
YourSpecialValue

server {
    listen 80;
    server_name yourdomain.com;

    location /api {
        if ($http_x_special_header != "YourSpecialValue") {
            return 403;
        }
        ...
    }
}

您可以发送带有标头的请求

X-Special-Header: YourSpecialValue

在您的 Nuxt 应用程序中


但是如果您想要更高级别的保护来防止网络爬虫,那就是另一回事了

© www.soinside.com 2019 - 2024. All rights reserved.