前端页面调接口,都不是代码写的,是整个页面都是嵌入的iframe,现在想在调接口的时候,经过认证服务器,校验信息之后才调接口。认证服务器返回401,怎么写nginx配置能实现重定向到指定静态页面
时间: 2025-01-13 22:03:42 浏览: 49
在前端页面通过 iframe 调用接口并且需要经过认证的情况下,可以借助 nginx 的反向代理功能来实现安全访问控制。当认证失败(收到 401 状态码)时,你可以配置 nginx 将请求重定向到一个预设的静态页面,通常是登录页。以下是基本的 nginx 配置示例:
```nginx
server {
listen 80; # 修改为你需要监听的端口
location /api {
proxy_pass http://your-api-server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 当接收到 401 状态码时,触发重定向
error_page 401 =7 redirect /login?error=unauthorized;
}
# 登录页面的配置
location /login {
root /path/to/static/pages; # 指定静态文件目录
try_files $uri $uri/ =404;
}
}
```
在这个例子中,`/api` 是你要代理的接口路径,`http://your-api-server` 是实际的 API 服务地址。如果 API 返回 401,`location` 中的 `error_page 401` 规则会将请求重定向到 `/login` 地址,并附带一个查询参数 `error=unauthorized`。
记得替换相应的路径和服务器地址,并根据实际情况调整其他设置,比如 SSL 密钥、HTTPS 等。
阅读全文
相关推荐


















