Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.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
Windows虚拟机中Tomcat 7中的虚拟主机_Tomcat_Azure_Virtualhost - Fatal编程技术网

Windows虚拟机中Tomcat 7中的虚拟主机

Windows虚拟机中Tomcat 7中的虚拟主机,tomcat,azure,virtualhost,Tomcat,Azure,Virtualhost,我使用的是由WindowsAzure虚拟机提供的Windows虚拟环境 我正在运行Tomcat7,希望设置一些虚拟主机。当我编辑“hosts”文件并将url('partner.example.com')指向“127.0.0.1”时,转到“partner.example.com:8080”的效果与预期的一样。但是,当我尝试在VM之外(在任何其他机器上)访问相同的url时,我会进入默认的Tomcat7索引页面 这是我在“server.xml”中的条目: <Host name="www.part

我使用的是由WindowsAzure虚拟机提供的Windows虚拟环境

我正在运行Tomcat7,希望设置一些虚拟主机。当我编辑“hosts”文件并将url('partner.example.com')指向“127.0.0.1”时,转到“partner.example.com:8080”的效果与预期的一样。但是,当我尝试在VM之外(在任何其他机器上)访问相同的url时,我会进入默认的Tomcat7索引页面

这是我在“server.xml”中的条目:

<Host name="www.partner.example.com" appBase="exampleFolder"
    unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" >
    <Alias>partner.example.com</Alias>
    <Valve className="org.apache.catalina.valves.AccessLogValve"
           directory="logs"
           prefix="partner.example.com" suffix=".log"
           pattern="%h %l %u %t &quot;%r&quot; %s %b"/>
</Host>

partner.example.com

有什么问题吗?

首先在本地尝试,将
partner.example.com
指向虚拟机的内部IP地址,而不是127.0.0.1。您可以通过Windows上的
ipconfig
获取它。我盲目的猜测是,您的tomcat将虚拟主机绑定到127.0.0.1,但却将默认站点绑定到机器的内部IP地址。因此,如果你的新主机文件从外部工作-这就是问题所在。我试图指向内部ip,但没有运气-相同的结果。基本上,当来自外部时,“partner.example.com”不会受到尊重-在通过azure vm时,“name”是否会变成其他名称(例如“partner.cloudapp.net”?这似乎也可能是一个域转发问题;如果我将我的域转发到“xxx.xx.xx/tomcat_webapps_文件夹”,则我的子域可以工作。。。