Certains outils essentiels à mon flux de travail communiquent avec www.pivotaltracker.com en utilisant Ruby.
La combinaison de la mise à jour de Ruby 2.1.2 à Ruby 2.1.3, des récentes mises à jour du système OS X et des mises à jour de Brew a entraîné un temps de fonctionnement très long. ipv6 que je peux voir en utilisant curl
pour faire des demandes d'api similaires :
curl -v -H "X-TrackerToken: $TOKEN" -X GET http://www.pivotaltracker.com/services/v3/projects
* About to connect() to www.pivotaltracker.com port 80 (#0)
* Trying 2607:f700:1:1388:c856:ed01:e1bf:b0e0…
après une minute ou deux d'échec sur toutes les adresses ipv6 de www.pivotaltracker.com, l'adresse ipv4 est finalement essayée, et la requête se termine avec succès.
Et ce, malgré l'utilisation de sudo networksetup -setv6off Ethernet
et en vérifiant que ipv6 était "désactivé" dans Préférences>Réseau. J'ai également essayé de mettre une entrée ipv4 correcte dans ma page d'accueil. /etc/hosts
.
Si j'utilise curl --ipv4
la demande est complétée immédiatement. Cependant je n'arrive pas à trouver comment forcer les ruby scripts qui utilisent net::http
à sauter ipv6
Ce qui est profondément frustrant dans tout cela, c'est que le même problème s'est produit lors d'une série de mises à jour de l'environnement de développement en mai ou juin, et que je l'ai résolu d'une manière ou d'une autre, mais je ne parviens pas à redécouvrir comment ou à le trouver en consultant mes fichiers d'historique du shell.
Le problème n'est pas propre à pivotaltracker.com, mais il est vrai pour tout domaine qui possède des adresses ipv6. Os X essaie les adresses ipv6 en premier à moins qu'on ne lui dise de faire autrement, ce que les navigateurs et quelques autres applications semblent faire, mais pas ruby ni la plupart des applications unix. wget
les stalles également.
Je finirai par mettre à niveau mon routeur et faire fonctionner ipv6 complètement, mais en attendant, j'aimerais trouver une solution de contournement.
Sortie de ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fd3e:fe65:5a2c:ebe1:224:1dff:fe16:65d3 prefixlen 128
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:24:1d:16:65:d3
inet 192.168.0.47 netmask 0xffffff00 broadcast 192.168.0.255
media: autoselect (1000baseT <full-duplex>)
status: active
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 2030
lladdr 00:19:a1:fa:00:00:24:1d
media: autoselect <full-duplex>
status: inactive
vnic0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:1c:42:00:00:08
inet 10.211.55.2 netmask 0xffffff00 broadcast 10.211.55.255
inet6 fe80::21c:42ff:fe00:8%vnic0 prefixlen 64 scopeid 0x6
inet6 ::1 prefixlen 64
media: autoselect
status: active
vnic1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:1c:42:00:00:09
inet 10.37.129.2 netmask 0xffffff00 broadcast 10.37.129.255
inet6 fe80::21c:42ff:fe00:9%vnic1 prefixlen 64 scopeid 0x7
inet6 ::1 prefixlen 64
media: autoselect
status: active
netstat -r
Lorsque j'exécute netstat -r, il y a une section Internet6, bien que Préférences Système>Réseau>Ethernet>Avancé >Configurer IPv6 soit réglé sur Désactivé.