Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu模拟URL以命中虚拟服务器_Ubuntu_Nginx_Subdomain_Hosts - Fatal编程技术网

Ubuntu模拟URL以命中虚拟服务器

Ubuntu模拟URL以命中虚拟服务器,ubuntu,nginx,subdomain,hosts,Ubuntu,Nginx,Subdomain,Hosts,这有点难以解释,但我正试图在虚拟机上模拟域名,以便能够访问子域。如果您需要任何澄清,我很乐意提供 第一层是Ubuntu上的Nginx服务器。它被设置为指向不同服务器上的两个端口,api(192.168.0.26:3001)和web(192.168.0.26.3000)。如果我使用命令curl api.localhost或curl localhost我会得到正确的输出。这意味着nginx已正确配置并命中其他服务器 当我尝试点击nginx服务器时,会发生错误。假设服务器的IP为192.168.0.2

这有点难以解释,但我正试图在虚拟机上模拟域名,以便能够访问子域。如果您需要任何澄清,我很乐意提供

第一层是Ubuntu上的Nginx服务器。它被设置为指向不同服务器上的两个端口,api(192.168.0.26:3001)和web(192.168.0.26.3000)。如果我使用命令
curl api.localhost
curl localhost
我会得到正确的输出。这意味着nginx已正确配置并命中其他服务器

当我尝试点击nginx服务器时,会发生错误。假设服务器的IP为192.168.0.25。如果I
curl192.168.0.25
它将访问web服务器。太好了,这正是我需要的。然而,由于明显的原因,我不能
curlapi.192.168.0.25
。如果我尝试,它就是不起作用

我用来尝试nginx服务器的操作系统是Ubuntu。我想知道是否有一种方法可以将nginx的IP地址分配给一个模拟url,例如test.com。这样,我就可以模拟它在网上的样子,这样我就可以
curlapi.test.com
得到我想要的结果

我试图将IP添加到/etc/hosts文件中,但似乎不起作用。有没有办法在本地计算机上模拟域?如果您需要任何澄清,我很乐意提供


谢谢

事实上,我不明白这一点:“我试图将IP添加到/etc/hosts文件中,但这似乎不起作用。”因此,我认为您需要准确地显示您在文件中输入的内容和错误。因为如果您添加
192.168.0.25 api.test.com
,那么
curl api.test.com
应该点击
192.168.0.25
,但是那里的服务器当然应该配置为理解它确实是
api.test.com
,并做出相应的反应。另外,由于它与编程无关,所以这里有点离题,请尝试使用或。嗨,帕特里克。我将确保尝试超级用户或服务器故障。我只是觉得堆栈溢出是“一网打尽”哈哈。不管怎样,我一直在研究并找到了答案,但我只剩下一点:nginx服务器工作正常。如果我
curlapi.localhost
得到正确的输出。但是当我转到我的测试服务器(带有已编辑的hosts文件的服务器)时,如果我尝试
curlapi.test.com
,我会从web服务器而不是api服务器获得输出。主机文件是
192.168.0.25 test.com api.test.com
。我不知道接下来该怎么办。