使用 Nginx 和 docker 的 Proxy_pass

问题描述 投票:0回答:0

我有一个简单的 nginx 任务,但我无法解决它:

我有一个域

example.com
,它指向本地服务器
192.168.1.150
,它在docker中运行nginx。

但是我有另一个容器“myapp”在端口 8080 上运行,我想传递这个位置 - 从“https://192.168.1.150/myapp”和“https://example.com/myapp”到“http ://192.168.1.150:8080",这只是 http,我想通过 nginx 进行安全连接。

要解决的问题

目前,如果我请求

https://192.168.1.150/myapp
,它会导航到
https://192.168.1.150/login
,但目标应该是
https://192.168.1.150/myapp/login
。尽管 URL“更改”成功,但 nginx 响应 HTTP 404;

在 nginx.conf 中查看我的位置设置:

location /myapp {
        proxy_pass         http://192.168.1.150:8080;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $http_host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
}

SSL

附带说明:我已经通过从 HTTP 重定向设置了 SSL,使用简单的位置“/test”进行了测试,它返回纯文本“OK”,看起来不错。

如果不能这样解决,我也可以用它与另一台服务器一起使用并监听除 443 之外的其他端口。(尝试过,结果相同)

我们将不胜感激任何帮助!提前致谢。

docker nginx proxypass
© www.soinside.com 2019 - 2024. All rights reserved.