当前位置: 首页 > wzjs >正文

公司网站网页设计最基本的网站设计

公司网站网页设计,最基本的网站设计,网站建设一般用什么编程,网站规划与设计h5在最近的一次部署中,我遇到一个奇怪的问题:Go 程序在运行时不使用 /etc/resolv.conf 中的 DNS 设置,导致服务无法正常访问域名。这篇文章记录下完整的排查过程和最终的解决方案。1. 问题现象我有一个部署在 KVM 虚拟机内的 Go 应用&#xff0…

在最近的一次部署中,我遇到一个奇怪的问题:Go 程序在运行时不使用 /etc/resolv.conf 中的 DNS 设置,导致服务无法正常访问域名。这篇文章记录下完整的排查过程和最终的解决方案。


1. 问题现象

我有一个部署在 KVM 虚拟机内的 Go 应用,主要功能依赖某些内网域名解析(如 api.service.internal)。而在主机中使用 digcurl 等命令都能正常解析,但 Go 程序却报错类似如下:

lookup api.service.internal on 127.0.0.53:53: server misbehaving

查看主机resolv.conf 文件内容如下:

$ cat /etc/resolv.conf
options timeout:1 rotate
search dns.koudai.com host.idcvdian.com
nameserver 10.27.0.84
nameserver 10.27.0.126

这些配置本应该能保证正常解析才对。

2. 初步怀疑:Go DNS 解析逻辑

Go 的 DNS 默认行为与传统 C 库不同。Go 在构建时是否启用 CGO 会直接影响其 DNS 解析逻辑:

构建方式DNS 实现使用 /etc/resolv.conf
CGO_ENABLED=0Go 自带 DNS 实现只使用 127.0.0.1、Google DNS 等默认配置
CGO_ENABLED=1调用系统 libc遵循 /etc/nsswitch.confresolv.conf

Go 默认静态构建时不会使用系统的 resolv.conf 进行 DNS 解析,而是使用 Go 内置的 DNS Resolver。

3. 构建方式调整

为了让 Go 程序在运行时读取主机的 /etc/resolv.conf 并使用正确的 DNS,我尝试启用 CGO:

CGO_ENABLED=1  go build -o myapp main.go

注意,启用 CGO_ENABLED=1 后会变成动态链接,依赖 libc 等系统库。此时执行 ldd 命令应能看到依赖:

$ ldd ./myapplinux-vdso.so.1 =>  (0x00007ffc6fdff000)libc.so.6 => /lib64/libc.so.6 (0x00007f624af5a000)...

而如果是静态构建(CGO_ENABLED=0),ldd 则会提示:

$ ldd ./myappnot a dynamic executable

4. 报错:找不到动态库

由于我的 KVM 虚拟机是一个极简化系统,尝试 CGO_ENABLED=1 构建后,运行程序提示找不到 libc.so.6 等依赖。解决方案:

sudo yum groupinstall "Development Tools"
sudo yum install glibc-devel

安装过程较大(可能需要几百 MB),可以只安装gcc相关

sudo yum install -y gcc glibc-devel

5. 最终构建命令模板

CGO_ENABLED=1 \
GOOS=linux GOARCH=amd64 \
go build -o ./bin/myapp main.go

6. 附加:检测是否启用 CGO

go env CGO_ENABLED

输出 1 表示启用了 CGO

http://www.dtcms.com/wzjs/463080.html

相关文章:

  • 免费java源码分享网站源码百度网登录入口
  • 镇江手机网站制作如何推广网站链接
  • 烟台网站制作这线上推广是什么工作
  • 高新建设网站电话站内关键词排名优化软件
  • 网站空间哪家做的好企业文化的重要性
  • 做o2o平台网站需要多少钱短视频运营培训学费多少
  • 谢岗仿做网站深圳网站制作设计
  • 企业网站管理系统用哪个好品牌推广方案策划书
  • 深圳产品型网站建设16种营销模型
  • 网站界面设计的优点站长之家关键词查询
  • 关键词seo如何优化网站排名优化查询
  • 搭建手机网站创建网站的基本步骤
  • 网站建设和设计网站死链检测工具
  • iis网站配置教程自媒体平台
  • 淄博网站建设服务抖音推广运营
  • 如何申请个人网站国际新闻最新消息今天 新闻
  • 成都网站logo设计seo确定关键词
  • 佛山建站模板2021年经典营销案例
  • 兼职做一篇微信的网站手机自动排名次的软件
  • 企业网站模板网 凡建站免费建设个人网站
  • 一个网站可以做多少地区词网络营销就是
  • 德州网站seo北京快速优化排名
  • 网站建设标准流程及外包注意事项上海网站seo
  • pc网站自动跳转wap百度搜索推广多少钱
  • 免费打广告网站付费推广
  • 现在哪个公司的网络比较好优化大师的优化项目有哪7个
  • 做网站需要有服务器百度号码认证平台官网
  • 主流网站开发采用网站收录平台
  • 营销类网站百度投放广告联系谁
  • 滁州市大滁城建设网站怎么找网站