Nginx:位置不保留在代理站点重定向中

时间:2019-03-27 14:00:50

标签: docker nginx redirect proxy location

我想使用nginx在同一域上设置几个不同的站点,并在域名后使用不同的路径(例如:example.com/site1example.com/site2example.com/syte3等)。重定向在proxy_pass中配置,并重定向到Docker容器网页

我有以下配置:

server {
    listen 443 ssl;
    server_name example.*;

    location /site1 {
            proxy_redirect          off;
            proxy_set_header        X-Forwarded-Proto $scheme;
            proxy_set_header        Host              $http_host;
            proxy_set_header        X-Real-IP         $remote_addr;
            proxy_set_header        X-Forwarded-For   $proxy_add_x_forwarded_for;
            proxy_set_header        X-Frame-Options   SAMEORIGIN;

            proxy_pass              http://docker-container:15003
    }
}

问题是,当我尝试查看URL example.com/site1时,似乎可以正确访问docker容器网页。然后,该页面将重定向到登录页面(应为http://docker-container:15003/login),但在代理后面不起作用。重定向未正确完成,它在docker容器内显示了内部应用程序的“ 404”页面。如果我单击404页面的徽标,它应该将我重定向到应用程序的索引,该索引称为“实验室”页面。因此,我在浏览器中看到的URL应该为http://example.com/site1/lab,但是我被重定向到http://example.com/lab,所以我在那里配置错误。

谢谢

0 个答案:

没有答案