2015-04-02 175 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