场景是使用 docker-compose 起包括数据库、前端、后端在内的一套服务
后端会访问一些页面,提取标题(不违反道德的爬虫,https://www.ohyee.cc/friends )
本地直接测试、本地起 Docker 测试都没问题 部署到服务器上起 Docker 测试,有一些网站访问超时
具体规律不确定,但是就目前测试的结果而言,似乎前面套了 CDN 的会有问题
对应的 docker-compose (有设置 dns 不过应该不影响) https://github.com/OhYee/blotter_docker/blob/master/docker-compose.yml
这是一个访问会超时的域名
> dig geektutu.com ; <<>> DiG 9.16.1-Ubuntu <<>> geektutu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20228 ;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;geektutu.com. IN A ;; ANSWER SECTION: geektutu.com. 600 IN CNAME geektutu.com.qiniudns.com. geektutu.com.qiniudns.com. 600 IN CNAME global.w.kunlunar.qiniudns.com. global.w.kunlunar.qiniudns.com. 3600 IN CNAME globalcdnweb.qiniu.com.w.kunlunar.com. globalcdnweb.qiniu.com.w.kunlunar.com. 60 IN A 43.224.161.119 globalcdnweb.qiniu.com.w.kunlunar.com. 60 IN A 43.224.161.120 globalcdnweb.qiniu.com.w.kunlunar.com. 60 IN A 43.224.161.121 globalcdnweb.qiniu.com.w.kunlunar.com. 60 IN A 43.224.161.114 globalcdnweb.qiniu.com.w.kunlunar.com. 60 IN A 43.224.161.115 globalcdnweb.qiniu.com.w.kunlunar.com. 60 IN A 43.224.161.116 globalcdnweb.qiniu.com.w.kunlunar.com. 60 IN A 43.224.161.117 globalcdnweb.qiniu.com.w.kunlunar.com. 60 IN A 43.224.161.118 ;; Query time: 79 msec ;; SERVER: 127.0.0.11#53(127.0.0.11) ;; WHEN: Tue Sep 07 15:57:10 CST 2021 ;; MSG SIZE rcvd: 285
相应的,curl
> curl https://geektutu.com/feed.xml -v * Trying 43.224.161.114:443... * TCP_NODELAY set * Trying 2409:8c44:b00:500:3::3fc:443... * TCP_NODELAY set * Immediate connect fail for 2409:8c44:b00:500:3::3fc: Cannot assign requested address * Trying 2409:8c44:b00:500:3::3fc:443... * TCP_NODELAY set * Immediate connect fail for 2409:8c44:b00:500:3::3fc: Cannot assign requested address * Trying 2409:8c44:b00:500:3::3fc:443... * TCP_NODELAY set * Immediate connect fail for 2409:8c44:b00:500:3::3fc: Cannot assign requested address
服务器直接连接可以正常访问,看了下 ip 地址似乎也是对的 而且几个访问不了的都是套了层 CDN 的,别的网站都没问题
服务器上直接起一个 container,访问同样的地址,没问题 服务器上起一个 container,并且设置连接到对应的 docker-compose 生成的网络中,访问同样的地址,没问题
感觉超时的很奇怪,大佬们有啥思路么?