# 目前已经实现静态的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; } } }