Webhook Handshake & X-Hook-Secret Trouble

My webhook target server is a Node/Express instance listening on 8080 and running behind an nginx reverse proxy that is available to the public Internet on ports 80 and 443. My SSL/TLS certs are by Let’s Encrypt / Certbot and provisioned yesterday, and nginx handles the SSL/TLS.

When I POST to https://app.asana.com/api/1.0/webhooks to create a webhook, the response I get from asana is status 400 with the message “Could not complete activation handshake with target URL. Please ensure that the receiving server is accepting connections and supports SSL.”

Even though I am instantly sending res.status(200).send(res.header('X-Hook-Secret', req.headers['x-hook-secret'])); I see no indication in nginx nor node is even getting an attempted POST from asana.

Could this be an issue with my nginx configuration, or certificate?