我有两个通过docker-compose在docker容器服务器上运行的Web应用程序,并且一切正常。我正在尝试使用nginx作为反向代理,以根据url模式将客户端请求转发到其他Web应用程序。 (我希望在同一域/服务器上部署两个应用程序)。 proxy_pass仅适用于nginx配置中定义的根路径,因为每个应用程序中都有定义的路由,因此任何重定向/发布形式的交互均不适用于nginx proxy_pass并显示404。
这是我当前为nginx配置设置的内容:
server {
listen 80;
server_name 0.0.0.0;
location /app1/ {
proxy_pass http://app1:8000/;
}
location /app2/ {
proxy_pass http://app2:8080/;
}
}
app1和app2在容器中运行。理想情况下,我想要这样的东西:
http://serverdomain/app1/.... -> http://app1:8000/....
http://serverdomain/app2/.... -> http://app2:8080/....
每个应用程序都有单独处理的逻辑和特定于应用程序的路由,例如,我也希望在app1内部,/ upload路由应转发到http://app1:8000/upload,但实际上它会将我定向到http://serverdomain/upload。>
我对此进行了研究,但没有一种方法有效。非常感谢您的帮助!