Lets Encrypt 配置SSL错误 DNS problem: NXDOMAIN looking up A for xxx
之前写过一篇文章,使用oneinstack自动配置let's encrypt ssl证书,原文地址:
oneintsack的好处自然不用多说了,真的特别方便,而且最大的好处就是,linux上各种东西即使用了一键部署工具,但是还是可以进行DIY配置。
SSL 多域名当然是 let's encrypt 莫属了,买多域名证书还是比较贵- -都超过了服务器价格了。
一、问题:
今天使用Let's Encrypt 配置 SSL 证书的时候,报了一个错误:
DNS problem: NXDOMAIN looking up A for xxx.com
问题标的比较明确: DNS Problem .
在linux运维笔记的一篇文章中看到有人提出了同样的问题,linux运维笔记的文章地址:
(文章和我写的那篇使用oneinstack部署let's encrypt一样,没有提出这个问题,只是在评论中提出了,还是注明一下地址)
文章的作者也指出了是因为DNS记录的问题,其实就是:
当你在服务器上使用 ping demo.ptbird.cn 的时候,绝对是ping不同的,会提示未找到主机
二、原因
出现这个问题原因可能是:
- 1. 刚刚解析了A记录,解析服务器还没有生效
- 这种情况一般不会出现,因为阿里云这样的解析,一分钟内基本都会生效,使用浏览器访问是没有问题的
- 2. 服务器本地 DNS缓存未更新
三、解决
1. 首先确定A记录是否成效
确定的方式很简单,在浏览器输入自己的域名,查看能否访问成功。
2. 确定DNS是否有问题
1) ping主机
# ping主机,如果无法发现host,则确定是dns问题
$ ping demo.ptbird.cn
2) 更新DNS缓存
不建议直接 network restart
使用nscd
如果系统没装可以装一下,nscd做DNS缓存加速很有用。
- centos : yum install nscd
- ubuntu :apt-get install nscd
如果已经装了直接更新
# 主要是hosts
$ nscd -i passwd
$ nscd -i group
$ nscd -i hosts
3. 关于nscd
推荐一篇不错的文章:
via。http://www.ptbird.cn/let-s-encrypt-ssl-dns-probles.html
因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合MIP标准。