close
遇到奇怪的問題
在我的 MAC 上跑 server 在連 local db 時出現 dial tcp: i/o timeout 錯誤
其他人環境都沒遇到
local db 是 docker 起的
port 有 bind 到 MAC 上
所以用其他 mongo db client 連線都能正常
連線是使用 dnsname:27017
所以 MAC 上 /etc/hosts 要加上 127.0.0.1 dnsname 這樣才知道是連到本機
經過一番查找終於找到問題
golang resolve DNS name 有兩種, 一個是 go resolver 一個是 cgo resolver
ref: https://golang.org/pkg/net/
不確定自己是用哪種可以用 export GODEBUG=netdns=1 確認一下
ex: go package net: using cgo DNS resolver
然後我發現出錯時是在我使用 cgo resolver
不知道幫我解到什麼位址去了.. (沒有再細查 cgo 為什麼解錯, 也許有好心人可以告訴我XD)
改成用 go resolver 就好了
ex:
export GODEBUG=netdns=go
全站熱搜
留言列表