2015-04-02 138 views
0

我需要配置Nginx作为Tomcat的反向代理。问题是当我尝试通过子域(myapp.domain.com)访问Web应用程序时,在这种情况下显示的是Tomcat webapps root,而不是myapp。Nginx + Tomcat虚拟主机

的Nginx的conf

server { 
    listen 80; 

    root /usr/share/tomcat/webapps/myapp; 
    index index.php index.html index.htm; 

    access_log off; 

    server_name myapp.domain.com; 

    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $host; 
     proxy_pass http://127.0.0.1:8181; 
    } 
} 
+0

大卫的回答部分解决了这个问题,因为这样myapp变成了默认的问题,即使没有直接请求,也会被加载。 – csaffi 2015-04-03 10:14:56

回答

0

尝试增加Tomcat的server.xml这条线,在<Host>标签中:

<Context path="" docBase="myapp" debug="0" reloadable="true" /> 

接着重新启动Tomcat。

+0

它的工作原理,但也试图访问根加载“myapp”,例如与http:// SERVER-IP:8181 – csaffi 2015-04-02 16:12:07

+0

但其他应用程序也加载罚款,谢谢大卫:)我应该怎么做,以避免加载“总是“myapp作为默认?最好只在需要时加载它。谢谢 – csaffi 2015-04-03 10:11:07

+0

当你加载'http:// SERVER-IP:8181'时,你想要发生什么?空白页面?重定向到别的地方?对不起,我不明白是什么问题。 – 2015-04-05 15:27:16