带有多个Docker容器应用程序的Nginx代理服务器

qcbq4gxm  于 2023-10-17  发布在  Nginx
关注(0)|答案(1)|浏览(109)

我有一个Alfresco共享应用程序和多个自定义应用程序都连接。现在我必须将它们全部连接到nginx代理服务器,以便它们全部在端口80上运行。我遇到404错误与我的自定义应用程序(共享运行正常).所有的应用程序都是Docker容器。

我的Dockerfile(nginx版本):

FROM nginx:latest

ARG SHARE_HOST 
ARG APP_HOST

COPY default.conf.template /etc/nginx/conf.d/default.conf.template

RUN envsubst '${SHARE_HOST}, ${APP_HOST}' < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

我的默认.conf.template

server {
  listen 80 default_server;
  server_name example.com;

  location /app {
    proxy_pass http://${APP_HOST}:3000;
  }

  location / {
    proxy_pass http://${SHARE_HOST}:8080;
  }

}

我的docker build命令:

docker build --build-arg SHARE_HOST=alfresco-share --build-arg APP_HOST=app_container -t documan-nginx-redirect .

alfresco-shareapp_container是运行容器的名称
所有容器都运行良好,并且它们都在同一个网络中。Nginx容器也在同一个网络中。
共享应用程序加载正常(URL是localhost/share/page/admin/dashboard),但当我在URL中键入localhost/app时,它会抛出404错误。
我做错了什么?

nimxete2

nimxete21#

解决方案为:

location /app/ {
  proxy_pass http://${APP_HOST}:3000/;
}

相关问题