我这两天发现我网站使用的图床(七牛云)的图片都访问不了,然后查看 nginx 发现把域名都解析成了 ipv6 的地址,导致无法访问,nginx 报错内容如下:
2023/08/03 09:45:32 [error] 22413#22413: *2095 connect() to [240e:97d:10:1401::40f]:80 failed (101: Network is unreachable) while connecting to upstream, client: 58.213.139.101, server: tendcode.com, request: "GET /cdn/article/2307/celery-db.png HTTP/1.1", upstream: "http://[240e:97d:10:1401::40f]:80/article/2307/celery-db.png", host: "tendcode.com", referrer: "https://tendcode.com/"
2023/08/03 09:45:32 [error] 22413#22413: *2095 connect() to [240e:97d:10:1401::40e]:80 failed (101: Network is unreachable) while connecting to upstream, client: 58.213.139.101, server: tendcode.com, request: "GET /cdn/article/2307/celery-db.png HTTP/1.1", upstream: "http://[240e:97d:10:1401::40e]:80/article/2307/celery-db.png", host: "tendcode.com", referrer: "https://tendcode.com/"
这里可以看到上游请求的是 ipv6 ,但是我发现在 nginx 里面配置禁用 ipv6 之后还是会解析成 ipv6 ,我的配置如下:
我这里就是把/cdn/的转到我配置给七牛云的 cdn 域名,为啥这里还会解析成 ipv6 ?
1
guoguobaba 2023-08-03 11:35:24 +08:00
|
2
skiy 2023-08-03 12:51:15 +08:00
```
listen 80; listen [::]:80; ``` 把 [::]:80 干掉。同理,443 [::]:443 的也一样。不行的话,把 AAAA 删掉应该没问题了吧? CNAME 的我不了解。 |
4
Hopetree OP @guoguobaba 我先试试,有用过来回复
|
5
skiy 2023-08-03 15:21:45 +08:00
我以为你这个日志是在 server 上的。
另外,我看了下七牛的后台。有选项的,如果没法修改,试试重新添加看看。 ``` IP 协议 IPv4 / IPv6 IPv4 ``` https:portal.qiniu.com/cdn/domain/create |
6
skiy 2023-08-03 15:33:28 +08:00
我刚刚查了,如果只是使用对象存储,好像没有选项设置。
如果你网站是在国内,那将贴内的那个 8.8.8.8 的的 Google 公共 IP 换成其它的国内的,比如主页的那个火山的看看? 还有,我上面说的那个 listen ,应该是在说主域名这边的 nginx ,也就是你贴图中的那个配置内。 建议跟七牛云的客服沟通下看看怎么解决。 |
9
cnbatch 2023-08-03 20:20:48 +08:00
更好的解决办法不是应该告知七牛云 IPv6 无法访问吗?
|
10
Hopetree OP @cnbatch 错了,最好的方案是我自己解决问题,当问题解决之后可以跟他们反馈,毕竟他们会不会解决不是我能控制的,而我的方案我自己能控制,这才是优先使用的方案,不过我也会跟他们反馈
|
11
cnbatch 2023-08-04 11:59:06 +08:00 via Android
按我理解,自己解决仅仅是属于临时方案,让七牛解决属于从根本上消灭问题
这不是谁控制的问题,而是消灭根源的问题 |