我正在尝试创建Asana webhook,我不断收到的错误是:asana.error.InvalidRequestError: Invalid Request: Could not complete activation handshake with target URL. Please ensure that the receiving server is accepting connections and supports SSL
服务(gunicorn服务器)在Docker容器中运行映射到端口8004,因此webhook的url看起来像https://example.com:8004/path/to/webhook
。我为整个域设置了Let's Encrypt SSL。
奇怪的是,当我从Postman或Python点击webhook的url时,一切正常,因此我不确定如何重现Asana的握手请求。
另一方面,当我在本地使用ngrok
测试webhook时,一切都运行良好。
5月让Asana加密证书不能被Asana接受?
答案 0 :(得分:0)
它与Let加密SSL无关。
似乎Asana的握手请求正在击中主域的SSL端口(443),尽管webhook的url中指定了端口。
解决方案是在docker容器内的gunicorn中设置nginx
代理通行证并关闭SSL。
类似于:
location /service-api {
proxy_pass http://0.0.0.0:8004;
}
这种方式nginx
处理SSL并将已经解密的请求传递给服务 - 而Asana对端口感到高兴