【问题标题】:Webhook on Heroku hosted app not updatingHeroku 托管应用程序上的 Webhook 未更新
【发布时间】:2020-09-10 19:39:10
【问题描述】:

当我在本地运行网站时,我的 curl 消息完美地更新了我网站上的 webhook,使用 'localhost:800' 作为 URI,在网页 javascript 代码中使用 'ws://localhost:8080/ws' 和“curl -H“缓存控制:无缓存”-H“内容类型:应用程序/json”-XPOST -d'{“对象”:“事件”,“数据”:{“付费”:true}}'本地主机:8080/webhook”作为发送的 curl 消息。但是,当我在网页上向 Heroku 托管站点发送相同的 curl 消息:'https://XXXX.herokuapp.com/webhook' 和 'ws://XXXX.herokuapp.com/ws' 时,它不会更新为curl 中收到的信息,尽管从 Heroku 日志中我可以看到该消息已收到。有谁知道可能是什么问题?

【问题讨论】:

  • 总是不行吗?您是否有多个 heroku dyno 正在运行,允许 webhook 在您的 websocket 连接到另一个 dyno 时以一个 dyno 结束?浏览器控制台日志/网络对 websocket 有什么看法? Heroku 有一个 golang+websocket 演示如何做到这一点。可能值得将他们的 Procfile 与您自己的进行比较:devcenter.heroku.com/articles/go-websockets
  • 您能否向我们提供更多信息(日志、应用程序设计、a minimal reproducible example)?
  • 我发现它适用于 http 但不适用于 https。我正在使用 Gorilla webhook,所以需要看看是否有使用 ListenAndServeTLS 的示例,而不是我认为的 ListenAndServe。

标签: go curl heroku webhooks


【解决方案1】:

原来我只需要将 "var exampleSocket = new WebSocket("ws://myapp.herokuapp.com/ws")" 更改为 "var exampleSocket = new WebSocket("wss://myapp.herokuapp.com /ws")" 在 .html 页面中。现在它工作正常。我在 Heroku 中有一个用于该应用程序的 SSL 证书,这似乎适用于 wss 以及 https

【讨论】:

    猜你喜欢
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    • 2018-03-27
    • 2013-05-25
    • 2012-12-07
    • 2014-06-16
    • 1970-01-01
    相关资源
    最近更新 更多