把我的公众号服务端放在阿里云时,就遇到了这个绑定多个域名的问题。刚开始一直想通过修改Nginx配置来解决,但几经百度,终于找到解决办法。
首先把tomcat的webapps文件夹整个复制一份,和webapps同目录,并改个名字,例如webapps_wechat,然后把程序放在webapps_wechat下的ROOT里。然后修改tomcat的server.xml,把Host节点的整个内容复制一份粘在下边,然后把name改成待绑定的域名,appBase改成webapps_wechat即可。
<Host name="wechat.duanjingyu.com" appBase="webapps_wechat" unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>
然后去nginx目录/conf/vhosts,把里面的配置文件复制一份修改成待绑定域名的,具体怎么修改,请参考域名通过nginx绑定阿里云ECS简解。重启服务,是不是新域名就可以访问了呢。