Ich habe eine App in einem Docker-Container unter der Portnummer 3000
, die dem Host (Port 3050 entspricht dem Port 3000 des Containers) ausgesetzt ist, und ich möchte dies verwenden nginx-proxy, um auf URLs wie http://localhost/users
zu zeigen/proxy zu http://localhost:3050/users
.Nginx-Reverse-Proxy für einen anderen Docker-Container einrichten
Ich habe diesen Block in meiner docker-compose.yml
Datei:
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
Unterhalb der Behälter in docker-compose.yml
definiert ist, dass mein App auf dem Port 3000 im Docker Behälter läuft:
api:
build: .
container_name: api
environment:
- VIRTUAL_HOST= service.myserver.com
- VIRTUAL_PROTO=https
volumes:
- "./API:/host"
links:
- Mongo:Mongo
ports:
- "3050:3000"
Nachdem ich anfangen bis die Docker Container, kann ich http://localhost:3050/users
im Browser öffnen, aber nicht http://localhost/users
, die mir eine 503 Fehler für Service vorübergehend nicht verfügbar.
Vielleicht bekomme ich die ganze Idee falsch, könnte mir jemand helfen oder mich mit nginx Reverse Proxy korrigieren?
Sie müssen die Weiterleitungsregel in nginx config hinzufügen. Hast du das gemacht? – Shibashis
eigentlich ist es nicht wegen der Weiterleitungsregel. Danke – TonyGW