Nginx - 动态代理

Nginx - 动态代理

我最近从 Apache2 转到了 Nginx,我非常喜欢它。但是我不知道如何基于 URI 或 GET 参数创建服务器代理。

我实际上想要实现的目标是:

proxy.example.com?url="google.com"

显示 google.com 页面。

在另一个问题中我找到了这个答案,但无法使其发挥作用:

proxy_pass $arg_uri;

但是我在 nginx 文档中没有找到 $arg_uri,我也尝试过这个,但仍然不起作用:

proxy_pass $uri;

答案1

如果参数?url="google.com"url且不是uri,则nginx变量将被调用$arg_url且不是$arg_uringinx变量是此处列出其中有一些有动态的名字,例如“$arg_xxx家庭”。

proxy_pass指令需要方案。请参阅这个文件了解详情。

因此,您需要将其添加到您的 URL 或proxy_pass声明中。例如?url="https://google.com"或也许proxy_pass https://$arg_url;(两者之一 - 而不是两者)。

相关内容