使用Nginx删除网址中的项目名称

时间:2012-12-21 23:30:46

标签: jboss nginx

我正在使用运行主项目的JBOSS Application Server。在顶部,我们使用nginx作为web服务器来侦听端口80,端口80充当代理,用于将所有连接转发到运行jboss项目的8080端口。以下是我们添加的配置。现在第一页使用url http://domain_name这是登录页面正常工作。但是在我们登录页面后重定向到下一页并且两次附加项目名称因此无法在该路径中找到该页面而引发错误。如何重写将使用nginx删除用户项目名称的URL?我知道我们可以通过更改web.xml中的上下文根标记来使用此项目作为默认值,除此之外我们可以做任何事情。

Nginx配置

location / {
        proxy_pass http://localhost:8080/project1/;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#       proxy-set_header Host $host;
    }

错误

HTTP Status 404 - /project1/project1/

type Status report

message /project1/project1/

description The requested resource (/project1/project1/) is not available.

1 个答案:

答案 0 :(得分:0)

只需使用proxy_pass http://localhost:8080;

即可

即,从代理传递指令中删除project1


要让用户只输入http://domain.com而不是http://domain.com/project_name,您需要在nginx中使用root指令。

root /server/path/to/domain.com/project_name;

您的其他服务器应使用等效指令进行设置。使用Apache,这是DocumentRoot指令。