1

我正在使用我们的主要项目在其上运行的 JBOSS 应用程序服务器。在顶部,我们使用 nginx 作为网络服务器来侦听端口 80,该端口充当代理,将所有连接转发到运行 jboss 项目的 8080 端口。下面是我们添加的配置。现在第一页使用http://domain_name登录页面 url 可以正常工作。但是在我们登录页面后重定向到下一页并两次附加项目名称,因此抛出错误,因为它在该路径中找不到页面。如何重写将为使用 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.
4

1 回答 1

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指令。

于 2012-12-22T08:19:00.103 回答