使用Nginx时GlassFish应用程序中的路径出错

时间:2013-06-16 20:16:39

标签: java-ee nginx glassfish-3

我的应用程序位于我的服务器上,可以正常工作: http://vps465.ns.planethoster.net:8080/Calenicon/

(因此GlassFish应用程序的上下文根是/ Calenicon)

域名为http://www.calenicon.rog

nginx配置只是:

server {
    listen       80;
    server_name  calenicon.org www.calenicon.org;


    location / {
        proxy_pass      http://localhost:8080/Calenicon/;
        proxy_set_header  X-Real-IP  $remote_addr;
    }

然后访问http://www.calenicon.org显示在所有相对路径中插入了不必要的“/ Calenicon”? (尝试点击“为什么这个应用程序”链接 - 删除路径中的“/ Calenicon”部分,看它是否再次运行。)

有人能指出我的解决方案吗? THX!

1 个答案:

答案 0 :(得分:2)

目标网页上的链接由上游应用服务器生成。不改变它,你必须告诉nginx如何提供该URL。一种解决方案可能是添加以下位置块:

location /Calenicon/ {
    proxy_pass      http://localhost:8080;
    proxy_set_header  X-Real-IP  $remote_addr;
}