婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > golang解析域名的步驟全紀錄

golang解析域名的步驟全紀錄

熱門標簽:學海導航地圖標注 高德地圖標注口訣 江西轉化率高的羿智云外呼系統 廣州呼叫中心外呼系統 中國地圖標注省會高清 浙江高速公路地圖標注 南通如皋申請開通400電話 西部云谷一期地圖標注 地圖標注的汽車標

最近遇到了一個問題。

我們的kube-apiserver配置了OIDC認證,OIDC issuer是添加了dns server記錄的,但由于某些原因,我需要覆蓋掉dns server的解析,改用hostAlias的IP地址,但是實測發現總是走了DNS解析,雖然/etc/hosts文件已經添加了自定義的hosts記錄。而那些沒有在dns server注冊的域名,還是可以通過 /etc/hosts 解析的。

原因是,kube-apiserver的基礎鏡像是 busybox ,和 centos 不同,這貨沒有 /etc/nsswitch.conf 文件,所以總是優先使用DNS解析,忽略了 /etc/hosts 文件。

解決辦法很簡單,給鏡像添加 /etc/nsswitch.conf 文件指定解析順序即可,內容如下。

hosts: files dns

即,files優先dns。

順帶完整的理一下linux系統里golang的域名解析。

golang有兩種域名解析方法:內置Go解析器;基于cgo的系統解析器。通過環境變量GODEBUG來配置。

export GODEBUG=netdns=go # force pure Go resolver
export GODEBUG=netdns=cgo # force cgo resolver

默認采用的是內置Go解析器,因為當DNS解析阻塞時,內置Go解析器只是阻塞了一個goroutine,而cgo的解析器則是阻塞了一個操作系統級別的線程。

func init() { netGo = true }

讀取 resolv.conf 失敗則強制使用cgo。

	confVal.resolv = dnsReadConfig("/etc/resolv.conf")
	if confVal.resolv.err != nil  !os.IsNotExist(confVal.resolv.err) 
		!os.IsPermission(confVal.resolv.err) {
		// If we can't read the resolv.conf file, assume it
		// had something important in it and defer to cgo.
		// libc's resolver might then fail too, but at least
		// it wasn't our fault.
		confVal.forceCgoLookupHost = true
	}

當使用內置Go解析器時,根據解析優先級的不同,還會細分為下面四種。

const (
	// hostLookupCgo means defer to cgo.
	hostLookupCgo hostLookupOrder = iota
	hostLookupFilesDNS   // files first
	hostLookupDNSFiles   // dns first
	hostLookupFiles   // only files
	hostLookupDNS   // only DNS
)

當 /etc/nsswitch.conf 文件不存在或者文件存在但是沒有指定 hosts 字段時,linux下使用的是 hostLookupDNSFiles ,也就是說,dns解析優先hosts解析,所以就會出現開頭出現的問題。

	nss := c.nss
	srcs := nss.sources["hosts"]
	// If /etc/nsswitch.conf doesn't exist or doesn't specify any
	// sources for "hosts", assume Go's DNS will work fine.
	if os.IsNotExist(nss.err) || (nss.err == nil  len(srcs) == 0) {
		if c.goos == "linux" {
			// glibc says the default is "dns [!UNAVAIL=return] files"
			// http://www.gnu.org/software/libc/manual/html_node/Notes-on-NSS-Configuration-File.html.
			return hostLookupDNSFiles
		}
		return hostLookupFilesDNS
 }

通過 nsswitch.conf 可以指定解析順序。代碼挺簡單的。

	var mdnsSource, filesSource, dnsSource bool
	var first string
	for _, src := range srcs {
		if src.source == "files" || src.source == "dns" {
			if !src.standardCriteria() {
				return fallbackOrder // non-standard; let libc deal with it.
			}
			if src.source == "files" {
				filesSource = true
			} else if src.source == "dns" {
				dnsSource = true
			}
			if first == "" {
				first = src.source
			}
			continue
		}
		// Some source we don't know how to deal with.
		return fallbackOrder
	}

	// Cases where Go can handle it without cgo and C thread
	// overhead.
	switch {
	case filesSource  dnsSource:
		if first == "files" {
			return hostLookupFilesDNS
		} else {
			return hostLookupDNSFiles
		}
	case filesSource:
		return hostLookupFiles
	case dnsSource:
		return hostLookupDNS
	}

所以指定 hosts: files dns,解析策略就是 hostLookupFilesDNS,即優先使用 /etc/hosts 。

詳細的解析順序請參見 hostLookupOrder。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • golang使用正則表達式解析網頁
  • golang中interface接口的深度解析
  • 利用Golang解析json數據的方法示例
  • golang解析xml的方法
  • golang解析網頁利器goquery的使用方法

標簽:常州 曲靖 吐魯番 保定 德宏 東營 許昌 貴州

巨人網絡通訊聲明:本文標題《golang解析域名的步驟全紀錄》,本文關鍵詞  golang,解析,域名,的,步驟,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang解析域名的步驟全紀錄》相關的同類信息!
  • 本頁收集關于golang解析域名的步驟全紀錄的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    2023国产精品| 精品国产一区二区在线观看| 青青草原综合久久大伊人精品优势| 亚洲精品一二三区| 韩国一区二区三区| 91网站最新地址| 久久久久国产一区二区三区四区| 精品电影一区二区| 九九国产精品视频| 91精品国产高清一区二区三区蜜臀| 欧美激情一区二区三区不卡| 美女一区二区视频| 欧美三级视频在线播放| 中文字幕一区av| 国产真实乱对白精彩久久| 欧美一级国产精品| 蜜桃视频一区二区三区在线观看| 欧美精品乱人伦久久久久久| 亚洲第一主播视频| 欧美影院精品一区| 亚洲大片免费看| 欧美一级免费观看| 久久精品99国产精品日本| 91精品国产色综合久久不卡蜜臀| 免费的成人av| 国产精品美女久久久久久| 成人免费视频caoporn| 中文无字幕一区二区三区| 暴力调教一区二区三区| 亚洲电影一区二区| 欧美大尺度电影在线| 国产美女视频一区| 一区二区三区四区国产精品| 欧美疯狂做受xxxx富婆| 国产风韵犹存在线视精品| 亚洲人成网站精品片在线观看| 在线视频欧美精品| 成人精品国产一区二区4080| 午夜私人影院久久久久| 日本一区二区三区四区| 欧美日韩久久久| 色成年激情久久综合| 国产精品亚洲成人| 美女爽到高潮91| 日韩专区一卡二卡| 偷拍一区二区三区| 一区二区三区美女视频| 亚洲欧洲精品一区二区精品久久久| 欧美色精品天天在线观看视频| 国产美女精品一区二区三区| 视频精品一区二区| 午夜欧美电影在线观看| 亚洲乱码国产乱码精品精98午夜| 国产欧美一区二区精品性| 久久免费精品国产久精品久久久久| 欧美三级视频在线播放| 日韩片之四级片| 久久综合九色综合97婷婷| 国产拍欧美日韩视频二区| 国产日韩欧美精品电影三级在线| 国产日韩欧美亚洲| 一区二区三区日韩| 蜜芽一区二区三区| 狠狠色狠狠色综合日日91app| 久久电影网电视剧免费观看| 韩国在线一区二区| 91麻豆6部合集magnet| 欧美一级久久久久久久大片| 国产精品色婷婷久久58| 亚洲免费视频成人| 国产一区二区精品久久99| 91蜜桃视频在线| 91麻豆精品国产自产在线| 欧美激情一区在线观看| 久久精品无码一区二区三区| 中文字幕一区二区5566日韩| 午夜精品123| 国产成人av电影在线| 91猫先生在线| 欧美日韩精品一区二区三区| 国产精品麻豆视频| 久久成人久久鬼色| 欧美一区二区免费视频| 性感美女极品91精品| 色综合久久久久综合体桃花网| 精品欧美久久久| 美女爽到高潮91| 91精品国产综合久久精品图片| 亚洲综合一二三区| 欧美午夜影院一区| 亚洲123区在线观看| 欧美精品日韩综合在线| 亚洲国产三级在线| 精品成人免费观看| 91久久精品一区二区| 国产精品污网站| 色婷婷av一区二区三区大白胸| 亚洲摸摸操操av| 欧美精品成人一区二区三区四区| 亚洲一区二区三区美女| 欧美一区欧美二区| 成人av在线资源| 蜜桃久久久久久久| 中文字幕不卡在线| 欧美系列亚洲系列| 精品一区二区三区香蕉蜜桃| 欧美成人精精品一区二区频| 国产成人免费在线观看| 最新日韩在线视频| 日韩精品最新网址| 91久久香蕉国产日韩欧美9色| 亚洲四区在线观看| 欧美xxx久久| 91激情在线视频| 国产麻豆精品一区二区| 亚洲手机成人高清视频| 日韩精品一区二区三区蜜臀| 国产福利91精品一区| 日本va欧美va精品发布| 亚洲男同性视频| 国产精品久久久久久久久快鸭| 精品日韩在线观看| 欧美一区二区三区四区五区| 99国内精品久久| 久久久不卡网国产精品一区| 欧美一区二区高清| 日韩免费视频一区| 精品成人一区二区三区| 欧美日韩午夜影院| 欧美丝袜丝交足nylons图片| 91色porny蝌蚪| 一本久道中文字幕精品亚洲嫩| 国产精品538一区二区在线| 亚洲不卡在线观看| 日韩欧美一级二级三级| eeuss影院一区二区三区| 精品一区二区三区在线视频| 亚洲男人天堂av| 一区精品在线播放| 国产一区二区主播在线| 久久精品国产免费看久久精品| 日韩电影在线观看一区| 亚洲aaa精品| 狠狠狠色丁香婷婷综合激情| 国产一区免费电影| 欧美日韩国产一级二级| 色狠狠一区二区三区香蕉| 精品国免费一区二区三区| 综合电影一区二区三区| 美女免费视频一区二区| 91在线一区二区三区| 日韩欧美色综合| 亚洲电影欧美电影有声小说| 丁香另类激情小说| 日韩女优毛片在线| 亚洲福利视频一区| 99久久精品国产毛片| 国产精品国产三级国产有无不卡 | 国产精品久久久久久一区二区三区| 视频一区二区中文字幕| 在线精品视频一区二区三四 | 在线观看中文字幕不卡| 日韩欧美激情四射| 日韩av电影天堂| 午夜视黄欧洲亚洲| av午夜精品一区二区三区| 国产亚洲精品久| 91亚洲国产成人精品一区二三| 中文字幕精品三区| 国产麻豆91精品| 中文字幕不卡在线| 一本色道久久加勒比精品| 一区二区三区色| 欧美一区国产二区| 91麻豆精品一区二区三区| 一区二区三区在线观看视频| 欧美色综合久久| 日本少妇一区二区| 久久精品亚洲麻豆av一区二区 | 日本丶国产丶欧美色综合| 欧美国产1区2区| 国产99久久久久| 中文字幕在线一区| 老汉av免费一区二区三区| 中文在线一区二区| 欧美色图一区二区三区| 日韩精品一卡二卡三卡四卡无卡| 日韩欧美亚洲国产另类| www.亚洲在线| 免费观看久久久4p| 亚洲一区中文在线| 91精品国产黑色紧身裤美女| 在线观看亚洲精品视频| 亚洲国产视频a| 国产精品久久一级| 久久久三级国产网站| 欧美日韩一级二级| 色婷婷亚洲一区二区三区| 国产成人精品一区二区三区四区 | 日韩视频免费直播|