【问题标题】:Is it possible to send webhook through NGINX proxy是否可以通过 NGINX 代理发送 webhook
【发布时间】:2021-10-08 21:47:14
【问题描述】:

我有一个设置,我可以通过 nginx 代理访问我的 docker 容器。所有容器都在内部网络中,无法访问互联网。 现在我需要从我的 docker 容器中将 webhook 发送到 slack。在容器中,我编辑了文件“/etc/hosts”,只是向我的代理添加了一条记录,类似于 hooks.slack.com。我这样做是因为容器向代理发送请求,之后该代理获取它并重定向到互联网原始 hooks.slack.com。

server {
    listen 80;
    server_name hooks.slack.com;
    return 301 https://hooks.slack.com$reques_uri;
}

当我通过 CURL 从我的 docker 容器中对此进行测试时,我得到了答案 301,但什么也没发生,没有消息传递给 slack。

已解决

需要添加这个而不是我的实际设置。

server {
listen 80;
server_name hooks.slack.com
location / {
    proxy_pass  https://hooks.slack.com;
    proxy_pass_header Server;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Scheme $scheme;
}

}

【问题讨论】:

    标签: docker nginx proxy webhooks


    【解决方案1】:

    使用proxy_pass 代替 301 重定向

    server {
        listen 80;
        server_name hooks.slack.com;
        location / {
            proxy_pass  https://hooks.slack.com;
        }
    }
    

    【讨论】:

    • 谢谢!那成功了。除了提供授权(我得到 401 答案)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 2021-02-07
    • 2019-04-12
    • 2018-12-18
    相关资源
    最近更新 更多