0

我想将我的 Nginx 版本 1.10.2 配置为托管在 CentOS 7 操作系统中的反向代理。我在同一台 WildFly 10 服务器上运行了多个应用程序。这些应用程序可在http://213.xxx.xxx.xxx/app1和获得http://213.xxx.xxx.xxx/app2。我为 app2 创建了一个子域http://app2.example.com。我的nginx.conf文件包含这些服务器:

server {
    listen 80;
    server_name example.com www.example.com;
    location / {
        proxy_pass http://213.xxx.xxx.xxx/app1;
    }
}

server {
    listen 80;
    server_name app2.example.com www.app2.example.com;
    location / {
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://213.xxx.xxx.xxx/app2;
    }
}

从我的网络浏览器,我可以通过 URL 访问 app1 example.com。但我无法到达 app2。当我向 发送请求时app2.example.com,它会将我重定向到app2.example.com/app2。有人可以告诉我我的配置有什么问题吗?

4

1 回答 1

0

好像您是应用程序进行重定向,这就是为什么 app1 有效而 app2 无效。现在你可以尝试一些事情

server {
    listen 80;
    server_name app2.example.com www.app2.example.com;
    location / {
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://213.xxx.xxx.xxx/app2;
        proxy_redirect http://213.xxx.xxx.xxx/app2/ http://$host/;
    }
}
于 2017-08-31T07:09:57.953 回答