Nginx 反向代理设置,伪静态可能导致反向代理不生效
遇到跨域的问题:has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header
想用nginx的反向代理解决。
将 /api/ 目录的访问, 转发到 https://www.bdtest.com/api/
配置:
location ^~ /api/ { proxy_pass https://www.bdtest.com/api/; proxy_set_header Host $proxy_host; # 改变请求头值 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; }
如果用 thinkphp 之类的框架,设了伪静态
伪静态还要加 一条规则:
rewrite ^/api/(.*)$ /api/$1 last;
if (!-e $request_filename) { rewrite ^/api/(.*)$ /api/$1 last; rewrite ^(.*)$ /index.php?s=$1 last; break; }
----
location ~ ^/(api|static|captcha) { proxy_pass http://www.test.top; proxy_set_header Host $proxy_host; # 改变请求头值 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步