目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7091.3k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(296)
赞(0)

5 DNS客户端

TCP/IP协议使用IP地址来标识主机,但纯数字的地址很难记忆和使用,于是“域名”(Domain Name)应运而生,它代替了麻烦的数字串,使用易读的文字来标识主机。

例如,我要去西湖边的“外婆家”,这就是名称,然后通过地址簿。查看到底是那条路多少号。

image-20220720185253175

Nginx自带了标准的域名解析功能,使用指令resolver在配置文件里指定DNS服务器,自动解析域名。

image-20220720185316922

例如:

但resolver指令的功能较简单,如果想要在OpenResty里更灵活地实现域名解析功能就要使用lua-resty-dns库,它基于 cosocket,完全无阻塞,是一个非常高效易用的DNS客户端。

lua-resty-dns 库需要显式加载后才能使用,即:

5.1 创建对象

在访问 DNS 服务器之前,我们必须调用口new 方法创建解析对象:

new方法的参数opts是一个表有四个相关的字段

  • nameservers : DNS 服务器地址数组,可以指定多个,使用简单的轮询算法:
  • retrans : DNS 服务器的重试次数,可以省略,默认是 次:
  • timeout : 单次 DNS 查询的超时时间,可以省略,默认是 秒;
  • no_recurse : 递归查询标志位,默认是 false ,即允许递归查询。

示例

5.2 查询地址

有了解析对象后,就可以调用 query 方法向 DNS 服务器发送查询请求:

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2