【发布时间】:2016-10-28 06:30:52
【问题描述】:
我有一个 docker 容器中的应用程序在端口号 3000 上运行,暴露给主机(端口 3050 映射到容器的端口 3000),我想用这个 nginx-proxy 指向像 @ 这样的 URL 987654323@指向/代理http://localhost:3050/users。
我的docker-compose.yml 文件中有这个块:
nginx_service:
image: jwilder/nginx-proxy
container_name: nginx_server
ports:
- "80:80"
- "443:443"
volumes:
- ./ssl_certs:/etc/nginx/certs
- /var/run/docker.sock:/tmp/docker.sock:ro
下面是docker-compose.yml 中定义的容器,它在 docker 容器的 3000 端口上运行我的应用程序:
api:
build: .
container_name: api
environment:
- VIRTUAL_HOST= service.myserver.com
- VIRTUAL_PROTO=https
volumes:
- "./API:/host"
links:
- Mongo:Mongo
ports:
- "3050:3000"
启动 docker 容器后,我可以在浏览器中打开 http://localhost:3050/users,但不能打开 http://localhost/users,这会导致 Service Temporarily Unavailable 出现 503 错误。
也许我的整个想法都错了,有人可以用 nginx 反向代理帮助或纠正我吗?
【问题讨论】:
-
需要在nginx配置中添加转发规则。你做到了吗?
-
其实不是转发规则的原因。谢谢
标签: nginx docker reverse-proxy docker-compose