33 lines
1017 B
Plaintext
33 lines
1017 B
Plaintext
# 基于 state 参数端口分发的 OAuth2 回调 Nginx 配置
|
|
# 只保留回调分发相关配置,其他内容全部删除
|
|
|
|
# 1. 端口白名单映射(只允许指定端口)
|
|
map $arg_state $target_port {
|
|
default "";
|
|
~^login(5173)_ 5173;
|
|
~^login(5174)_ 5174;
|
|
~^login(5175)_ 5175;
|
|
~^login(5176)_ 5176;
|
|
~^login(5177)_ 5177;
|
|
~^login(5178)_ 5178;
|
|
}
|
|
|
|
# 2. 统一回调入口,根据 state 分发到对应端口
|
|
server {
|
|
listen 80;
|
|
server_name 127.0.0.1;
|
|
|
|
location /callback {
|
|
# 未匹配到允许端口直接返回 400
|
|
if ($target_port = "") {
|
|
return 400 "Invalid or unsupported state/port";
|
|
}
|
|
|
|
# 反向代理到本地对应端口的 /callback
|
|
proxy_pass http://127.0.0.1:$target_port/callback$is_args$args;
|
|
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;
|
|
}
|
|
} |