如何解决如何在用户空间中编辑域名解析
域名解析非常简单: grosso modo 它使用域名并返回IP。但是我发现它在Linux中相当复杂。
据我了解,域名解析通过了(不确定顺序):
(我在这里跳过了对dns请求的任何加密)
可以使用许多工具:systemd-resolved,dnsmasq,nslookup,dig,getent,... 我迷路了。我不能做一些非常简单的事情。
我有一个caddy服务器(但它可能是Nginx),其中有几个"addresses"(相当于Nginx“ server_name”)。这些地址用于根据每个请求的“ HOST:”将HTTP请求路由到相应的服务/代理。
当我在公共IP地址上启动caddy服务器时,并且在配置具有正确记录的远程DNS时,一切正常。假设此处使用的dns记录为<mydomainname> -> <public_ip>
。
但是现在我想在本地测试部署的新版本。因此,我将caddy服务器部署在本地的虚拟机中。如何在caddy内保持HTTP请求路由的同时测试服务器?由于IP更改,我不能再使用以前的dns记录。有需要的<mydomainname> -> <local_ip>
。而且我不想更改远程DNS记录,因为它用于产品服务器。在测试期间,所有内容都应是本地的。
我发现了
curl --connect-to <mydomainname>:443:<local_ip>:443 https://<mydomainname>
有效。
但是我希望能够在浏览器中测试服务器。
到目前为止,我尝试在发送之前在浏览器中编辑HTTP请求,并注入Host: <mydomainname>
。我还查看了主机别名,但由于limitations而无法使用。
似乎goto解决方案是编辑/etc/hosts
,但这在用户空间中是不可能的。
我想尽可能避免依赖本地DNS服务器,因为这只是出于测试目的。
TL; DR
如何在用户空间中编辑域名解析?无需修改/etc
中的主机文件?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。