TXT 记录导致子域名无法解析

TXT 记录导致子域名无法解析

我的 nginx.conf 中有以下条目,这允许我转到http://somerandomstuff.domain.ie然后由我的 app_subdomain_handler 应用程序进行处理,一切正常。

upstream app_subdomain_handler {
        server 127.0.0.1:5001;
        keepalive 8;
}

server {
    listen 0.0.0.0:80;
    server_name *.domain.ie;
    location / {
    proxy_pass http://app_subdomain_handler/;
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Host $http_host;
          proxy_set_header X-NginX-Proxy true;
    }
}

server {
    listen 443 ssl;
    server_name *.domain.ie;
    location / {
    proxy_pass http://app_subdomain_handler/;
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Host $http_host;
          proxy_set_header X-NginX-Proxy true;
    }
}

我的问题是,如果我添加 dns TXT 记录,例如 test.domain.ie,app_subdomain_handler 永远不会收到请求。我已通过 tcpdump 检查,使用

tcpdump port 80 -s 0 -w capture.cap

并且 nginx 从未看到该请求。test.domain.ie 在浏览器中返回“未找到服务器”消息。

我使用 linode 作为主机和域名服务器,有多个 TXT 记录,有什么想法吗?为什么 TXT 记录会导致子域名无法解析?

答案1

因为这就是通配符 DNS 记录的工作方式。通配符只会用于如果没有记录任何输入名称,而不仅仅是在没有请求类型的记录时。这是为了确保记录请求的行为ANY不会与特定类型的请求有所不同。

答案2

您应该使用 A 记录(或最终使用 CNAME)。TXT 记录应该没有帮助。

我们的想法是将其放在您的区域文件中:

@ IN A ipaddressofyourwebserver
www IN A ipaddressofyourwebserver
* IN A ipaddressofyourwebserver

您的真实域名是什么,以便我们能够提供帮助?

相关内容