Nginx

使用 nginx 重定向 webhook

  • February 9, 2020

我正在將我的應用程序的域名從 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 並且沒有得到處理..

關於如何實現這一目標的任何想法?

塊中不在塊內的rewrite指令首先執行(參見ng_http_rewrite_module 文件)。server``location

所以刪除或評論rewrite指令,proxy_pass指令將被執行。

由於 webhook 不會獲得重定向(因此,它們吸收新應用程序域的唯一方法是手動更改),為什麼會錯過一個微不足道的解決方案?

只需在您擁有的位置old.com下添加:server``new.com

server_name new.com old.com;

引用自:https://serverfault.com/questions/1002346