Windows虚拟机中Tomcat 7中的虚拟主机
我使用的是由WindowsAzure虚拟机提供的Windows虚拟环境 我正在运行Tomcat7,希望设置一些虚拟主机。当我编辑“hosts”文件并将url('partner.example.com')指向“127.0.0.1”时,转到“partner.example.com:8080”的效果与预期的一样。但是,当我尝试在VM之外(在任何其他机器上)访问相同的url时,我会进入默认的Tomcat7索引页面 这是我在“server.xml”中的条目: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
<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 "%r" %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_文件夹”,则我的子域可以工作。。。