Nginx 作为反向代理,重写或代理将请求传递给docker容器

Nginx 作为反向代理,重写或代理将请求传递给docker容器

我正在尝试在同一台机器上的几个应用程序(Docker 容器)前面使用 nginx 作为反向代理。作为测试,我尝试将 PHPmyAdmin 连接到以下 URI:www.example.com/phpma

我的位置块如下所示:

    location /phpma/ {
    proxy_pass         http://192.168.2.23:8081/;
    proxy_redirect     off;
    proxy_set_header   Host $host;  
    }

在您尝试登录或退出之前,一切正常。

假设您输入用户名和密码并单击登录按钮,应用程序会将您重定向到主页。 URL 如下:

https://example.com/index.php?route=/&route=%2F

现在,用户会遇到错误,因为用户端的实际 URL 应该将 /phpma uri 添加到重定向链接。假设上述 URL 应该是这样的:

https://example.com/phpma/index.php?route=/&route=%2F

我们如何克服这种情况?或者在生产环境中我们应该如何设计应用程序来解决这个问题?谢谢

相关内容