使用 nginx 重定向 webhook

使用 nginx 重定向 webhook

我正在将我的应用程序的域名从 old.com 更改为 new.com

我的应用程序连接到通过 webhook 发送数据的外部 API,我想重定向发送到旧 url 的 webhook,以便它们命中新 url 并进行处理。

我尝试过简单的重写

server {
  server_name old.com;
  listen 443 ssl;
  rewrite ^       https://new.com$request_uri;

我可以看到这会触发 302 重定向,但这似乎没有起到作用。

我尝试使用 proxy_pass

server {
  server_name old.com;
  listen 443 ssl;

  location /webHook {
    proxy_pass https://new.com/webHook;
  }

  rewrite ^       https://new.com$request_uri;

结果相同..我可以在日志中看到 302 重定向,但是 webhook 似乎从未命中新的 URL 并且没有得到处理..

有什么想法可以实现这个目标吗?

答案1

rewrite块中server不在块内的指令location将首先执行(参见ng_http_rewrite_module 文档)。

因此删除或注释该rewrite指令,该proxy_pass指令就会得到执行。

答案2

由于 webhook 不会获得重定向(因此,它们吸收新应用程序域的唯一方法是通过手动更改),为什么要错过一个简单的解决方案?

old.com只需在server您已有的位置添加new.com

server_name new.com old.com;

相关内容