场景是使用 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 生成的网络中,访问同样的地址,没问题
感觉超时的很奇怪,大佬们有啥思路么?