2016-09-19 17 views
0

おはよう!nginxの作業でspring mvcのリダイレクトが正しくない

私は少し問題があります:My Spring MVCアプリケーションはhttp://localhost:8080/webapp/アドレスにあります。私は私のアプリにsomedomain.comのような要求をリダイレクトするためのnginxのをインストールしている:

server{ 
server_name somedomain.com; 
access_log /var/log/app.log; 

location /{ 
proxy_pass http://localhost:8080/webapp/; 
include /etc/nginx/proxy.conf; 
} 

proxy.conf:

私はそのように、リダイレクトを使用コントローラ方法の一
proxy_redirect off; 
proxy_set_header Host $host:$server_port; 
proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

@RequestMapping(value = "/xxx", method = RequestMethod.POST) 
public String xxx(ModelMap modelMap) { 
    return "redirect:/yyy"; 
} 

その後、ブラウザはhttp://somedomain.com/yyyを開きますが、http://somedomain.com/webapp/yyyを探します。

私は間違っていますか? ありがとうございます。

答えて

0

誰もこれに答えなかったが、将来の必要性のために私はそうするだろう。

まず、あなたのドメインのTomcatに仮想ホストを追加し、あなたのアプリケーションをそれにマップする必要があります。

次: 変更 http://localhost:8080/webapp/;

を、あなたは私はあなたが私のWebアプリケーションには、このドメインをマッピングするTomcatに言う エンジンタグの下にserver.xmlでのTomcatでの仮想ホストを追加する場合: どのように動作

へ 。だから、すべての要求は、Tomcatに来るその後、TomcatがHTTPタグの下nginx.conf

では、Webアプリケーション

に第二

それを転送しますヘッダー内のドメイン名を持っているあなたは、ポートに耳を傾け、サーバーのタグを追加します80と特定のサーバー名

リッスン80; server_name somedomain.com;

ので、リクエストがサーバタグに来る、それは場所のタグ

場所/ { proxy_pass http://localhost:8080/webapp/にマップします。 //これはwebappのコンテキストを変更して削除する必要があります。 には/etc/nginx/proxy.confが含まれています。 }

最後にリクエストがtomcatに転送され、そこでvHostがジョブを続行します

関連する問題