我有一个简单的 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 之外的其他端口。(尝试过,结果相同)
我们将不胜感激任何帮助!提前致谢。