我需要这样的配置:
如果在 www.mydomain.com 上调用 Apache 将响应我的博客,我希望 tomcat 响应 thirddomain.mydomain.com
我配置了一个 worker 以这种方式响应 thirddomain.mydomain.com:
<VirtualHost thirddomain.mydomain.com:80>
JkMount /* myworker
ServerName thirddomain.mydomain.com
</VirtualHost>
我的 worker 是这样配置的:
worker.list=myworker
worker.myworker.port=8009
worker.myworker.host=thirddomain.mydomain.com
worker.myworker.type=ajp13
我还有一个指向 www 的标准虚拟主机
<VirtualHost www.mydomain.com:80>
DocumentRoot /var/www/html/blog/
ServerName www.mydomain.com
</VirtualHost>
tomcat上的server.xml是这个:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="thirddomain.mydomain.com">
<Host name="thirddomain.mydomain.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" resolveHost="false"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
问题是 apache 在 www 和 mythirddomain 上都有响应。我如何配置它以响应不同的第三方域?
谢谢
最佳答案
首先将“thirddomain.mydomain.com”(子域)映射到一个有效目录,以检查该配置是否在没有 ajp 和 Tomcat 的情况下工作(注释掉 JKMount)。
DocumentRoot /var/www/html/anotherDir/index.html
如果可行,请取消注释 JKMount 并将其更改为使用 ip:
worker.myworker.host=thirddomain.mydomain.com
应该是:
worker.myworker.host=127.0.0.1
(我猜 Tomcat 与您的 Web 服务器在同一台服务器上)。在 Engine 元素中也添加工作人员名称:
<Engine jvmRoute="myworker" name="Catalina" defaultHost="thirddomain.mydomain.com">
关于java - Apache + 汤姆猫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25000414/