我想用Go制作一个简单的DNS服务器。我知道DNS是如何工作的,但我不能百分之百地确定DNS查询的实际外观。
例如,HTTP请求如下所示:
GET /index.html HTTP/1.1
所以我的问题是,DNS查询是否如下所示:
QUERY google.com A
或者DNS服务器是否解释正在查询的域名的二进制表示?
为了增强代理,我需要在查询参数中重写域名。代理基本上只是一个域重写,但是来自上游服务器的一些响应包含一个查询参数,该参数最终被用作重定向(在"Location“报头中)。我需要能够重写这个域名,以便它指向代理而不是上游服务器。我的当前配置如下
<VirtualHost *:443>
SSLEngine On
SSLProxyEngine On
# Set the path to SSL certificate
# Usage: SSLCertificateFile /path/to/cert.pem
SSLCertificateFile /etc/apache2/ssl/