Ssl https上的Github webhook:“;服务超时“;
这个问题是关于让github webhook在https上工作。对于故障排除的最佳实践,这也是一个缺乏经验的人提出的问题 我的临时站点有一个github webhook,指向Ssl https上的Github webhook:“;服务超时“;,ssl,github-webhook,Ssl,Github Webhook,这个问题是关于让github webhook在https上工作。对于故障排除的最佳实践,这也是一个缺乏经验的人提出的问题 我的临时站点有一个github webhook,指向https://staging.domain.com/git_webhook 如果我将它指向http而不是https,它的功能将非常完美。但对于https,github的响应是:我们无法交付此负载:服务超时。即使对webhook禁用SSL验证,也会发生这种情况 通过使用Postman和curl,webhook可以在https
https://staging.domain.com/git_webhook
如果我将它指向http而不是https,它的功能将非常完美。但对于https,github的响应是:我们无法交付此负载:服务超时
。即使对webhook禁用SSL验证,也会发生这种情况
通过使用Postman和curl,webhook可以在https上完美地运行
我尝试过的
当我运行
openssl s_client-showcerts-servername staging.domain.com-connect staging.domain.com:443Github支持花了几周时间才回复我,但最终他们发现了问题:
“服务器上的MTU设置得非常高,您不接受ICMP碎片整理响应(MSS=8860)。”
键入ip addr
显示网络接口的mtu设置(在本例中ens3
)为8900。这是我部署的Ubuntu 20.04映像的开箱即用设置
按照我在互联网上找到的说明,我使用了ping-s XXXX-c1 distrowatch.com
,发现XXXX的任何数字高于1452都会导致100%的数据包丢失
头的1452+28字节意味着1480 mtu设置应该可以工作
从前面的ip addr
命令得知网络接口是ens3
,我输入了sudo ip link set dev ens3 mtu 1480
,并尝试重新传递github webhook。瞧,成功了
在我的系统上,网络配置不是位于/etc/network/interfaces
,而是位于/etc/netplan/50 cloud init.yaml
。因此,为了使mtu更改永久化,我对该文件进行了备份,然后将其mtu从8900编辑到1480。最后,github webhook工作了
1 0.000000000 140.82.115.240 → <IP OF MY SERVER> TCP 74 64733 → 443 [SYN] Seq=0 Win=26880 Len=0 MSS=8960 SACK_PERM=1 TSval=2233744096 TSecr=0 WS=1024
2 0.000066037 <IP OF MY SERVER> → 140.82.115.240 TCP 74 443 → 64733 [SYN, ACK] Seq=0 Ack=1 Win=61936 Len=0 MSS=8860 SACK_PERM=1 TSval=2212655787 TSecr=2233744096 WS=128
3 0.000879665 140.82.115.240 → <IP OF MY SERVER> TCP 66 64733 → 443 [ACK] Seq=1 Ack=1 Win=27648 Len=0 TSval=2233744097 TSecr=2212655787
4 0.012202817 140.82.115.240 → <IP OF MY SERVER> TLSv1 313 Client Hello
5 0.012281121 <IP OF MY SERVER> → 140.82.115.240 TCP 66 443 → 64733 [ACK] Seq=1 Ack=248 Win=61696 Len=0 TSval=2212655799 TSecr=2233744109
6 0.013146175 <IP OF MY SERVER> → 140.82.115.240 TLSv1.2 2799 Server Hello, Certificate, Server Hello Done
7 0.231698984 <IP OF MY SERVER> → 140.82.115.240 TCP 2799 [TCP Retransmission] 443 → 64733 [PSH, ACK] Seq=1 Ack=248 Win=61696 Len=2733 TSval=2212656019 TSecr=2233744109
8 0.451700300 <IP OF MY SERVER> → 140.82.115.240 TCP 2799 [TCP Retransmission] 443 → 64733 [PSH, ACK] Seq=1 Ack=248 Win=61696 Len=2733 TSval=2212656239 TSecr=2233744109
9 0.895731268 <IP OF MY SERVER> → 140.82.115.240 TCP 2799 [TCP Retransmission] 443 → 64733 [PSH, ACK] Seq=1 Ack=248 Win=61696 Len=2733 TSval=2212656683 TSecr=2233744109
10 1.791706743 <IP OF MY SERVER> → 140.82.115.240 TCP 2799 [TCP Retransmission] 443 → 64733 [PSH, ACK] Seq=1 Ack=248 Win=61696 Len=2733 TSval=2212657579 TSecr=2233744109
11 3.551693664 <IP OF MY SERVER> → 140.82.115.240 TCP 2799 [TCP Retransmission] 443 → 64733 [PSH, ACK] Seq=1 Ack=248 Win=61696 Len=2733 TSval=2212659339 TSecr=2233744109
12 4.930201185 140.82.115.240 → <IP OF MY SERVER> TCP 66 64733 → 443 [FIN, ACK] Seq=248 Ack=1 Win=27648 Len=0 TSval=2233749027 TSecr=2212655799
13 4.930468118 <IP OF MY SERVER> → 140.82.115.240 TCP 66 443 → 64733 [FIN, ACK] Seq=2734 Ack=249 Win=61696 Len=0 TSval=2212660718 TSecr=2233749027
14 4.931240019 140.82.115.240 → <IP OF MY SERVER> TCP 54 64733 → 443 [RST] Seq=249 Win=0 Len=0