File size: 1,445 Bytes
1ed6f05 34345fc ff7a8aa 34345fc 5d883d9 fa06416 7434cd7 14c6a65 f5f0528 969126a f5f0528 433498f a2f4af1 b904c08 08eb0cd 9d27e34 fa06416 30963bd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | # 目前已经实现静态的gemini代理,下面需要使用lua实现动态替换 备份时间为 2025-02-26 00:03
worker_processes auto;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
lua_package_path '$prefix/lua/?.lua;$prefix/lualib/?.lua;;';
server {
listen 7860;
server_name localhost;
set $target_proto "";
set $target_host "";
set $target_path "";
# 主代理路径处理
location ~ ^/v1/(https?)/([^/]+)(/.*)$ {
resolver 8.8.8.8; # 指定一个公共 DNS 解析器
access_by_lua_block {
-- 设置目标变量
ngx.var.target_proto = ngx.var[1]
ngx.var.target_host = ngx.var[2]
ngx.var.target_path = ngx.var[3]
-- 处理特殊字符转义(如路径中的%2F)
ngx.var.target_path = ngx.re.gsub(ngx.var.target_path, "\\%2F", "/", "ijo")
}
proxy_pass $target_proto://$target_host$target_path;
proxy_set_header Host $target_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;
}
}
}
|